检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如果需要驱动一个工作流执行,工作流系统需要处理两个部分: 控制流:控制工作流的步骤间流转,以及步骤对应的 Serverless 函数的执行。确保步骤与步骤之间有序执行。 数据流:控制整个工作流的数据流转,通常来说上一个步骤的输出是下一个步骤的输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
源隔离 应用场景 FunctionGraph的函数除了支持挂载弹性文件系统SFS外,也支持挂载ECS服务器共享出的NFS共享路径。在多用户使用场景下,使用ECS能够有效地进行多用户的资源管理,通过配置特定的权限,满足用户之间需要强隔离的使用需求。 前提条件 每位用户均需完成为Fu
使用TIMER定时触发器 本节介绍创建定时触发器,按照设置的频率,定期触发函数运行,供用户了解定时触发器的使用方法。 本节介绍如何使用函数工作流控制台创建定时触发器,按照设置的频率,定期触发函数运行。 关于定时触发器事件源的具体介绍,请参见支持的事件源。 前提条件 已创建函数,创建过程请参见创建函数。
command 否 String 启动容器镜像的命令 args 否 String 启动容器镜像的命令行参数 working_dir 否 String 镜像容器工作目录 uid 否 String 镜像容器的用户id gid 否 String 镜像容器的用户组id 表10 FuncLogConfig
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
必选参数。 填写RabbitMQ实例的用户名。 密码 必选参数。 填写RabbitMQ实例的密码。 虚拟机名称 必选参数。 填写RabbitMQ实例的虚拟机名称。 队列 必选参数。 填写RabbitMQ实例的队列。 单击“确定”,完成EG触发器的创建。 配置EventGrid事件触发函数
在构建阶段后新建一个阶段,名称为部署,任务串行执行,完成后单击“保存”。 图11 阶段配置 单击“添加任务”,添加一个类型为部署的任务,输入名称为部署helloworld脚本,选择需要调用的任务update-function-deploy。 图12 添加任务 其中releaseVersion设置为流水线参数。 图13
如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml的events属性中找到。 # serverless
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
函数日志:FunctionGraph函数代码生成的自定义日志。 扩展日志:FunctionGraph扩展代码生成的自定义日志。 如何在扩展中使用OpenTelemetry API 注册OpenTelemetry API 处理遥测 父主题: 遥测API
约束与限制: 函数仅支持返回如下几种类型的值。 Null:函数返回的HTTP响应Body为空。 string:函数返回的HTTP响应Body内容为该字符串内容。 其他:函数会返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设置响应的“Content-Type”头为“text/plain”。
本实践根据使用需求的不同,涉及的计费服务有所不同,请参考表1根据具体需求规划资源与成本。 表1 资源和成本规划 资源 资源说明 计费说明 是否必须 函数工作流 FunctionGraph 函数类型:容器镜像HTTP函数 区域:华东-上海一 购买量:2(应用创建成功后自动生成函数) 计费模式:按需计费。
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
单击“确定”,完成SMN触发器的创建。 SMN触发器创建完成后,会在SMN消息主题生成消息订阅。 触发函数运行 在“消息通知服务”控制台,为“smn-test”主题发布消息,具体操作步骤请参见向主题发布文本消息。消息发布以后,会自动触发函数运行。 发布消息的内容参见表1填写。 表1 发布消息
整个扩展进程由用户自己编写,扩展进程中必须完成以下工作才能成功启用扩展功能: 启动一个httpClient,向FunctionGraph函数发送注册请求。 启动一个httpServer,接收FunctionGraph函数发送过来的调用请求。 API方法 父主题: 扩展API
文件包含了本次查询结果的所有事件,且最多导出5000条信息。 单击按钮,可以获取到事件操作记录的最新信息。 在需要查看的事件左侧,单击展开该记录的详细信息。 在需要查看的记录右侧,单击“查看事件”,会弹出一个窗口显示该操作事件结构的详细信息。 关于事件结构的关键字段详解,请参见《
本实践根据使用需求的不同,涉及的计费服务有所不同,请参考表1根据具体需求规划资源与成本。 表1 资源和成本规划 资源 资源说明 计费说明 是否必须 函数工作流 FunctionGraph 函数类型:容器镜像HTTP函数 区域:华东-上海一 购买量:2(应用创建成功后自动生成函数) 计费模式:按需计费。
encoding=utf-8,否则可能会出现中文乱码。 优势 丰富的框架支持 您可以使用常见的 Web 框架(例如 Nodejs Web 框架:Express、Koa)编写 Web 函数,也可以将您本地的 Web 框架服务以极小的改造量快速迁移上云。 减少请求处理环节 函数可以直接接收并处理