检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置函数流的异常处理控制器组件 异常处理控制器组件用于控制函数执行失败后的下一步流程,当函数流里面的函数执行异常时,可以通过“异常处理”来处理执行失败的函数并可添加重试。函数执行失败可分为多种情况:函数执行异常;函数内部业务失败并在返回内容中添加了错误码,例如status,200代表成功,500和404等代表失败。
参考创建APIG实例的网络环境准备搭建完成业务所需的服务器和网络环境。 约束与限制 改用专享版APIG触发器时,新应用创建时分配的临时域名将不再可用,需准备您的自定义域名绑定应用使用。 步骤一:购买专享版APIG实例 请根据业务需要,参考购买实例购买相应规格的专享版APIG实例。购买过程中请参照以下注意事项:
消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 depend_file 否 String depend_type为zip类型时必填,为文件流格式,需要base64编码zip文件。 上传的文件大小限制为40M,如超过40M,请通过OBS上传。
FunctionGraph为函数分配的磁盘空间有多少? 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 函数发起HTTP请求的源地址如何获取? FunctionGraph是否支持对上传的zip文件进行反编译? FunctionGraph的函数是否支持功能扩展?
必选参数。 选择已创建的RocketMQ topic。 topic-test 消费组 必选参数。 选择已经创建的RocketMQ 消费组。 fgtest 单击“确定”,完成EG触发器的创建。 配置EventGrid事件触发函数 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
OBS对象复制所需的代码包对象URL。 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 在函数列表中,单击函数名称进入函数详情页。 在“代码”页签,右侧选择“上传代码 > OBS地址”。在弹出的窗口中,输入复制的OBS桶对象URL。 OBS地址输入完成后,单击“确定”,代码将自动部署到代码编辑区中。
配置函数流的子流程控制器组件 函数工作流服务可以把一些“函数流”作为“子流程”组合成一个新的函数流,这样可以抽取出一些函数流作为公共流进行使用,减少函数流的重复编排。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。
-Token的值)。 Content-Type 是 String 消息体的类型(格式) 表3 请求Body参数 参数 是否必选 参数类型 描述 depend_file 否 String depend_type为zip类型时必填,为文件流格式,需要base64编码zip文件。 上传
Object)的权限。 选择您需要操作的函数,鼠标右键单击“Download...”,选择您要下载的路径,函数代码会从云端下载到本地并自动打开入口文件。 更新云端函数 选择您需要操作的函数,鼠标右键单击“Upload Function...”,选择您想要上传的ZIP包。 删除云端函数
Test.jar,替换文件目录后如图9所示。打ZIP包,如图10所示,得到disdemo.zip文件。 图8 文件目录 图9 替换后文件目录 图10 打ZIP包 创建函数 创建函数的时候,必须选择能够访问到DIS和CloudTable资源的委托。 登录函数工作流控制台,在左侧导航栏选择“函数
创建安全组:免费。 实例类型、存储规格和是否开启公网访问请根据业务需求选择,具体计费项及标准请参考弹性云服务器按需计费说明,价格详情请参见弹性云服务器价格详情。 使用ECS作为NFS服务器时必须。 API网关 APIG 版本:专享版API网关 区域:华东-上海一 购买量:1 计费模式
上传与使用自定义模型 进阶使用:使用ECS作为NFS服务器实现多用户资源隔离 如需实现多用户使用场景下的资源隔离,FunctionGraph函数支持挂载ECS服务器作为文件系统来源,通过设置共享NFS路径可有效管理多用户模型资源,可通过以下操作实现: 购买ECS服务器 设置ECS下的NFS共享 在AI对话应用中挂载ECS
函数工作流”进入函数工作流控制台,单击“创建函数”。 选择“创建空白函数”,函数类型选择“事件函数”,输入您自定义的函数名称,此处以“iotdemo”为例,选择熟悉的运行时,案例这里使用Python 3.9 ,然后单击创建。 创建转发规则 转发规则用于数据从IoTDA流转到指定函数,以触发函数运行,可以在IoTDA
上传和使用自定义模型时必须。 弹性云服务器 ECS 区域:华东-上海一 操作系统:公共镜像 EulerOS 2.5 64bit(40GiB) 购买量:1 计费模式:本例使用按需计费。 实例类型、存储规格请根据业务需求选择,具体计费项及标准请参考弹性云服务器按需计费说明,价格详情请参见弹性云服务器价格详情。
上传与加载自定义模型 进阶使用:使用ECS作为NFS服务器实现多用户资源隔离 如需实现多用户使用场景下的资源隔离,FunctionGraph函数支持挂载ECS服务器作为文件系统来源,通过设置共享NFS路径可有效管理多用户模型资源,可通过以下操作实现: 购买ECS服务器 设置ECS下的NFS共享 在Stable
codeType: zip # 函数代码类型 dependVersionList: # 依赖包,取依赖包的ID - xxx-xxx code: # 本地代码地址
代码包。 请参考表1查看所使用的运行时支持的直接上传代码文件类型。 表1 直接上传代码支持的文件类型 运行时 上传ZIP文件 上传JAR文件 说明 Node.js 支持 不支持 - Python 支持 不支持 用python语言编写代码时,自己创建的依赖包名不能与python标准
如果用户直接把已有的工程上传,会因为path里多了函数名而无法直接访问自己的服务。因此,请参考以下两种方法注解或去除函数名。 方法一:修改代码中的Mapping地址,例如在GetMapping注解或者类注解上添加默认的path第一部分。 图7 修改Mapping地址 方法二:单击触发器名称,跳转至API网关服务,直接修改path去除函数名。
直接上传函数代码:直接上传本地开发完成的ZIP文件或JAR文件,适用于代码包不超过40MB的场景使用。 从OBS上传函数代码:通过输入OBS桶地址,上传OBS桶中的ZIP文件或JAR文件,适用于代码包不超过300MB的场景使用。 2 配置函数的依赖包 依赖包为函数提供依赖库、运行时环境及函数扩展的执行能力,
如果函数返回的error参数不是nil,则会认为函数执行失败。 如果函数返回的error为nil,FunctionGraph仅支持返回如下几种类型的值。 nil:返回的HTTP响应Body为空。 []byte:返回的HTTP响应Body内容为该字节数组内容。 string:返回的HTTP响应Body内容为该字符串内容。