检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
应用扩展 本案例展示了函数工作流服务配合使用云日志服务LTS实现日志云端处理并转储消息到LTS的功能。函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对指定LTS日志流中的日志数据进行个性化分析和处理,删除冗余的日志,节省空间和费用。 父主题:
conf,可以用相对路径“code/backend/test.conf”,或者使用全路径(相关目录为RUNTIME_CODE_ROOT环境变量对应的值)。如果需要写文件(如创建新文件或者下载文件等),可以在/tmp目录下进行或者使用函数提供的挂载文件系统功能。 若容器回收,文件的读写就会失效。 函数目前不支持持久化。
器配置信息,如图1所示。 桶选择创建OBS桶中创建的“input_bucket”桶。 事件选择“通过页面或Put请求创建或覆盖桶对象”和“使用Post请求创建或覆盖桶对象”。 图1 创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有文件上传或更新
扩展作为独立进程在函数执行环境中运行。由于扩展作为进程运行,您可以使用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前http和事件类型函数支持扩展的使用,自定义镜像不支持。 您可以通过将扩展制作为依赖包的方式添加到函数。
在控制台创建子函数,本例所选参数如图1所示,其他参数保持默认。 图1 配置参数 步骤二:创建父函数 在控制台创建父函数。委托名称选择包含“FunctionGraph Administrator”或“Tenant Administrator”权限的委托,本例所选参数如图2所示,其他参数保持默认。 图2 配置参数
改造前单个代码仓集成多个功能,代码量巨大,维护困难;改造后函数、部署包、代码仓一一对应,方便迭代维护。 部分功能使用频次低,但仍然持续占用资源,CPU使用率低;改造后业务按需使用,低频服务缩容到0,明显降低资源成本。 通过托管模式进行Serverless化改造,业务改动少,单函数可支持
图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。 图1 示例 图2 上传图片 使用postman触发函数流执行
函数工作流 介绍如何使用OBS触发器 03:10 使用OBS触发器 函数工作流 介绍如何使用SMN触发器 02:33 使用SMN触发器 函数工作流 使用DIS触发器 02:42 使用DIS触发器 函数工作流 使用定时触发器 02:18 使用定时触发器 函数工作流 创建依赖包 02:42
华为云函数工作流(FunctionGraph)Yaml规范 字段解析 表1 参数说明 参数名 必填 类型 参数描述 region True Enum Enum funtion True Struct 函数 trigger False Struct 触发器 Yaml完整配置 华为云
函数类型:选择“HTTP函数”。 区域:选择“华东-上海一”。 函数名称:输入您自定义的函数名称,此处以“Nextjs-app”为例。 其他参数保持默认即可。 函数创建完成后进入详情页面,选择“代码”页签,选择“上传自 > Zip文件”。 图1 上传zip文件 选择之前打包的“nextjs-func-code
func实际运行使用的实例数,设置预留实例个数,或者根据Objective-func过往使用情况,设置预留实例个数。 单击“确定”,完成预留实例的创建。 预留实例创建完成后,只支持修改预留实例的个数。 通过函数创建数量可变的预留实例 用户在不同的时间段,业务使用的实例数可能不一样
欠费说明 您使用函数工作流时,账户的可用额度小于待结算的账单,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值。 当账号进入欠费状态时,需要在约定时间内支付欠款,详细操作请参考欠费还款。 欠费原因 在按需计费模式下账户的余额不足。 欠费影响 欠费后,您无法创建、执行函数及对资源执行任何操作。
起始位置对应DIS服务中的游标类型,用来选择从DIS通道中读取数据的位置: TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。 例如,某租户使用DIS的通道,分别上传了三条数据A1,A2,A3。N天后(设定A1已过期,A2和A3仍在有效期范围内),该租户需要下载此三条数据,并选择了
String 选定EP的规格,默认为大规格 xrole 否 String 制作EP时使用的租户委托名称 vpc_id 是 String 对接EP使用的租户VPCID subnet_id 是 String 对接EP使用的租户子网ID 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型
该函数的请求并发数和预留实例数。 内存使用量 MB 最大内存使用量为某统计粒度(周期)下,即某一时间段内单次函数执行最大的内存使用量。 最小内存使用量为某统计粒度(周期)下,即某一时间段内单次函数执行最小的内存使用量。 平均内存使用量为某统计粒度(周期)下,即某一时间段内单次函数执行平均的内存使用量。 父主题:
进入模板选择页面。 图1 创建应用 单击“使用模板”,进入应用介绍页面,请仔细阅读。如果没有该选项请确认您当前所在区域是否为“华东-上海一”,请切换后重新选择。 图2 应用模板选择 单击“详情”认真阅读应用使用文档后单击右下角“使用模板”,进入配置页面。 图3 模板介绍 在“应
encrypted_user_data String 加密用户数据 dependencies Array of strings 模板所需依赖列表 scene String 模板使用场景 service String 模板关联云服务 表6 TriggerMetadataList 参数 参数类型 描述 trigger_name
份中函数A、B和C总共产生多少费用? 表1 函数创建详情 函数名称 说明 函数A(未使用预留实例) 2023/04/05创建,假设函数A内存是512MB,执行一次时间是500毫秒。 函数B(使用预留实例且未开启空闲模式) 2023/04/18创建,假设函数B内存128MB,执行一
Custom-Image-Swr code_url String 当code_type为obs时,该值为函数代码包在OBS上的地址,code_type为其他值时,该字段为空。 code_filename String 函数的文件名,当code_type为jar/zip时必须提供该字段,inline和obs不需要提供。
encrypted_user_data String 加密用户数据 dependencies Array of strings 模板所需依赖列表 scene String 模板使用场景 service String 模板关联云服务 表4 TriggerMetadataList 参数 参数类型 描述 trigger_name