检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数服务是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 目前函数暂不支持这种方式。函数的理念是无服务器计算,计算资源只会在运行期分配,这种自定义监听端口的场景并不适合。 父主题: 通用问题
http://${EXTENSION_API_ADDR}/extension/register 进程部署的扩展都需要在FunctionGraph注册成功后才能接收事件。您可以通过 EXTENSION_API_ADDR 环境变量得到FunctionGraph平台开放的提供注册的扩展API地址,例如对于Python,EXTENSION
http://localhost:{PORT},localhost是本地主机IP:127.0.0.1。 使用遥测 API 订阅后,扩展会自动开始通过遥测侦听器接收来自FunctionGraph的遥测数据。每个 POST 请求正文都包含 Event 对象数组。 订阅事件类型包括三大类:platform
在拓展启动一个httpClient,向FunctionGraph发送注册Telemetry API的请求。 创建一个httpServer遥测侦听器,接收FunctionGraph发送的遥测数据。用户可以对此数据进行任何自定义处理。 最多只能创建一个遥测扩展,遥测的端口限制和扩展的端口限制一致,127
函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。 准备工作 注册华为账号并实名认证。 在创建函数前,请先注册华为账号并实名认证,具体步骤请参
本章节将以使用容器镜像方式创建事件函数为例,介绍容器镜像函数的创建及测试过程。用户需要在镜像中实现一个http server,并监听8000端口接收请求。其中,请求路径/init 默认为函数初始化入口,请根据需要实现该接口。请求路径/invoke为函数执行入口,触发器事件转到该接口处理,请求参数请参见函数支持的事件源。
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 函数+APIG:处理文件上传
下工作才能成功启用扩展功能: 启动一个httpClient,向FunctionGraph函数发送注册请求。 启动一个httpServer,接收FunctionGraph函数发送过来的调用请求。 API方法 父主题: 扩展API
说明如表1所示。 图1 EG节点配置 表1 EG节点参数说明 参数 说明 *事件通道 事件通道负责接收来自事件源的事件。函数流仅支持编排自定义事件通道:您自行创建的事件通道,用于接收自定义事件源产生的事件。 详情请参见事件通道概述。 *事件源 事件源是事件的来源,函数流仅支持自定
"extension"], } 请求体中必须包括上述JSON字段。 protocol为请求类型,限制为POST。 uri为扩展进程中遥测侦听器URI,用于接收FunctionGraph发送的遥测数据,其中PORT可选8081~8090。 Types为您希望扩展订阅的事件类型的信息,可选platf
概述 通过FunctionGraph的OpenTelemetry API,扩展可以直接从FunctionGraph接收到函数执行期间初始化、调用期间的遥测数据,也可以收集函数执行期间和扩展执行期间的用户打印日志。 在FunctionGraph执行时,您可以从扩展向OpenTelemetry
dis客户端,减少了资源消耗并且性能更优。 请勿在函数初始化入口捕获异常,否则会导致FunctionGraph认为函数初始化成功,进而开始接收函数调用请求。但是因为初始化实际上是失败的,导致函数执行时使用了不可用的redis_client而失败。 父主题: 代码解读
框架:Express、Koa)编写 Web 函数,也可以将您本地的 Web 框架服务以极小的改造量快速迁移上云。 减少请求处理环节 函数可以直接接收并处理 HTTP 请求,API 网关不再需要做 json 格式转换,减少请求处理环节,提升 Web 服务性能。 编写体验舒适化 HTTP 函数的编写体验更贴近编写原生
tapigV1触发器。 回到latest版本别名界面,编辑alias,灰度版本选择V2,调整权重,实现V1到V2的灰度升级。 权重用于分派接收到的流量给后端版本,具体数值视业务情况自定义。 图4 编辑别名 创建V3版本,编辑alias,对应版本设置为V2,灰度版本选择V3,调整权重,实现V2到V3的灰度升级。
time,然后开始运行初始化代码(主程序外的代码)。 执行:在此阶段,实例接收事件后开始执行函数。函数运行到完成后,实例会等待下个事件的调用。 关闭:如果FunctionGraph函数在一段时间内没有接收任何调用,则会触发此阶段。在关闭阶段,Runtime关闭,然后向每个扩展发送一个关闭事件,最后删除环境。
考创建日志流。 创建函数A,负责写入日志到test-206。函数A代码样例请参考write_log.py。 创建函数B,挂载LTS触发器,接收test-206的日志,处理日志并发结果写入test-1121。函数B代码样例请参考lts_cleanse.py。 在云日志服务配置Age
如何获取函数代码? 是否有initializer的代码示例? 如何开启结构化日志查询 函数服务是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? FunctionGraph是否支持域名解析? 函数发起HTTP请求的源地址如何获取?
一部分。如果直接Get https://your_host.com/springboot_demo/greeting,springboot接收到的请求地址将包含springboot_demo/greeting两部分。此处需注意: 如果用户直接把已有的工程上传,会因为path里多了
选择“EG触发器”。 *提供方 EG事件源提供方,支持华为云和自定义两种方式。 *事件通道 当“提供方”选择“自定义”时,配置此参数。事件通道负责接收来自事件源的事件来触发函数流执行。 *事件源 事件源是事件的来源,负责将华为云服务、自定义应用等应用程序生产的事件发布到事件网格。 事件类型
配置函数环境变量:无需再配置spring_start_class和cxf_enabled,业务按需配置其它的环境变量。 配置函数初始化入口。可选,用户可以自定义函数初始化时(接收请求之前)需要进行的操作。一个例子: public void initFunction(Context context) { // 业务自身逻辑,可以去远程拉取一些配置数据等