检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 目前函数暂不支持这种方式。函数的理念是无服务器计算,计算资源只会在运行期分配,这种自定义监听端口的场景并不适合。 父主题: 产品咨询
ion/register 进程部署的扩展都需要在FunctionGraph注册成功后才能接收事件。您可以通过 EXTENSION_API_ADDR 环境变量得到FunctionGraph平台开放的提供注册的扩展API地址,例如对于Python,EXTENSION API 的获取方式为os
订阅后,扩展会自动开始通过遥测侦听器接收来自FunctionGraph的遥测数据。每个 POST 请求正文都包含 Event 对象数组。 订阅事件类型包括三大类:platform、function、extension。 类别 Event Type 描述 平台事件 platform 函数的执行情况
http://${EXTENSION_API_ADDR}/telemetry 您可以通过 EXTENSION_API_ADDR 环境变量得到平台开放的提供注册的API地址,例如对于Python,EXTENSION_API_ADDR的获取方式为os.getenv("EXTENSION_API_ADDR
在拓展启动一个httpClient,向FunctionGraph发送注册Telemetry API的请求。 创建一个httpServer遥测侦听器,接收FunctionGraph发送的遥测数据。用户可以对此数据进行任何自定义处理。 最多只能创建一个遥测扩展,遥测的端口限制和扩展的端口限制一致,127
xml中dependency应该为空,迁移过程中根据需要添加依赖,不用的jar包尽量不引入,根据需要在pom.xml中添加jar包依赖。 新增函数平台依赖,引入请求参数和响应类。 在pom文件中添加如下依赖: <dependency> <groupId>com.huawei.serverless</groupId>
of the function exceeds the maximum allowed limit. 函数返回值内容超平台限制。 请检查函数返回值内容的大小是否超过平台限制(6M)。 500 FSS.4005 state is undefined. 状态未定义。 检查状态信息。 500
目标通道:选择接收通知消息的目标通道。 消息通知服务(SMN) 主题名称:选择接收通知消息的主题。 分布式消息服务 RocketMQ版(RocketMQ)(当前处于公测阶段,仅支持华东-上海一。) 实例:选择接收通知消息的RocketMQ实例。 Topic:选择接收通知消息的Topic。
</executions> </plugin> </plugins> </build> 请把mainClass替换为真实的类。 创建本地函数 创建包com.huawei.demo,并在包下创建TriggerTests类,如图图3所示。 图3 创建TriggerTests类
false:通过非安全协议方式接入。 timeout Integer 0 设备验证码的有效时间,单位:秒,默认值:0。若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。注意:只有注册设备接口或者修改设备接口修改timeout时返回该参数。
函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。 约束与限制 可以使用任意基础镜像。 在云上环境会默认使用uid 1003,gid 1003
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 使用FunctionGraph函数实现通过API方式上传文件
本章节将以使用容器镜像方式创建事件函数为例,介绍容器镜像函数的创建及测试过程。用户需要在镜像中实现一个http server,并监听8000端口接收请求。其中,请求路径/init 默认为函数初始化入口,请根据需要实现该接口。请求路径/invoke为函数执行入口,触发器事件转到该接口处理,请求参数请参见函数支持的事件源。
下工作才能成功启用扩展功能: 启动一个httpClient,向FunctionGraph函数发送注册请求。 启动一个httpServer,接收FunctionGraph函数发送过来的调用请求。 API方法 父主题: 扩展API
概述 通过FunctionGraph的OpenTelemetry API,扩展可以直接从FunctionGraph接收到函数执行期间初始化、调用期间的遥测数据,也可以收集函数执行期间和扩展执行期间的用户打印日志。 在FunctionGraph执行时,您可以从扩展向OpenTelemetry
false:通过非安全协议方式接入。 timeout Integer 0 设备验证码的有效时间,单位:秒,默认值:0。若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。注意:只有注册设备接口或者修改设备接口修改timeout时返回该参数。
步骤五:搭建函数更新流水线 此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。 新建构建任务 在“构建&发布 > 编译构建”页面,单击“新建任务”。 源码仓库选择functions仓库,构建模板选择“空白构建模板”。
使用FunctionGraph开发程序之后是否需要部署? FunctionGraph为函数分配的磁盘空间有多少? 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 函数发起HTTP请求的源地址如何获取? FunctionGraph是否支持对上传的zip文件进行反编译? Fu
数说明如表1所示。 图1 EG节点配置 表1 EG节点参数说明 参数 说明 事件通道 事件通道负责接收来自事件源的事件。函数流仅支持编排自定义事件通道:您自行创建的事件通道,用于接收自定义事件源产生的事件。 详情请参见事件通道概述。 事件源 事件源是事件的来源,函数流仅支持自定义
该案例演示客户如何使用FunctionGraph 与IoTDA 服务组合,处理物联网设备上报以及设备状态变动的相关数据。物联网设备在IoTDA 平台进行管理,设备产生的数据可以从IoTDA直接流转触发FunctionGraph 的函数运行。用户可以根据需要编写函数处理这些数据。 通常该