检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。
remove trigger命令 remove trigger命令,是删除指定触发器的命令。 当执行命令remove trigger -h/remove trigger --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填
数执行最小的运行时间。 平均运行时间为某统计粒度(周期)下,即某一时间段内单次函数执行平均的运行时间。 错误次数 次 指发生异常请求的函数不能正确执行完并且返回200,都计入错误次数。函数自身的语法错误或自身执行错误也会计入该指标。 被拒绝次数 次 由于并发请求太多,系统流控而被拒绝的请求次数。
产品功能 函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go、PHP、Cangjie等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8
华为云函数工作流(FunctionGraph)Yaml规范 字段解析 表1 参数说明 参数名 必填 类型 参数描述 region True Enum Enum funtion True Struct 函数 trigger False Struct 触发器 Yaml完整配置 华为云
的SDK代码示例。 状态码 状态码 描述 200 OK 400 Bad Request 请求错误。 401 Unauthorized 鉴权失败。 403 Forbidden 没有操作权限。 500 Internal Server Error 服务内部错误。 错误码 请参见错误码。
在函数代码详情页,单击“添加依赖包”,选择私有依赖包源,添加创建依赖包创建的redis-py-4.6.0依赖包。 图3 添加依赖包 在“设置”页签下修改“常规设置”,内存调整为256MB,执行超时时间为30s,然后单击保存。 图4 常规设置 在“设置”页签下配置“权限”,添加一个有VPC
表9 FuncMount 参数 是否必选 参数类型 描述 mount_type 是 String 挂载类型(sfs/sfsTurbo/ecs),func_mounts非空时必选。 mount_resource 是 String 挂载资源ID(对应云服务ID),func_mounts非空时必选。
deploy trigger命令 deploy trigger命令,是部署函数触发器的命令。 当执行命令deploy trigger -h/deploy trigger --help时,可以获取帮助文档。 操作案例 有资源描述文件(Yaml)时,可以直接执行s deploy tr
DIS触发器中起始位置LATEST和TRIM_HORIZON是什么意思? 起始位置对应DIS服务中的游标类型,用来选择从DIS通道中读取数据的位置: TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。 例如,某租户使用DIS的通道,分别上传了三条数据A1,A2,A3
Yaml文件 字段解析 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下:
名称:输入您自定义的名称,此处以“cloudtable-dis”为例。 虚拟私有云:选择创建虚拟私有云中创建的“vpc-cloudtable”。 其他配置保持默认,无需修改。 图1 购买集群 确认配置信息无误,单击“提交”,创建集群。 图2 创建集群 创建集群需要较长时间,可以从图2中查看进度,请耐心等待。 创建委托
个数,或者根据Objective-func过往使用情况,设置预留实例个数。 单击“确定”,完成预留实例的创建。 预留实例创建完成后,只支持修改预留实例的个数。 通过函数创建数量可变的预留实例 用户在不同的时间段,业务使用的实例数可能不一样,您可以通过定时触发器调用函数,为各个时间
func_mounts非空时必选 挂载类型(sfs/sfsTurbo/ecs) mount_resource String func_mounts非空时必选 挂载资源ID(对应云服务ID) mount_share_path String “mount_type”为“ecs”时,必选 远端挂载路径(例如192.168
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
日志告警 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "statusCode":
"file_name" : "python-kafka.zip" } 状态码 状态码 描述 200 OK 401 Unauthorized 鉴权失败。 403 Forbidden 没有操作权限。 404 Not Found 找不到资源。 500 Internal Server Error
用户组ID(-1~65534的非0整数) 表7 FuncMount 参数 参数类型 描述 mount_type String 挂载类型(sfs/sfsTurbo/ecs),func_mounts非空时必选。 mount_resource String 挂载资源ID(对应云服务ID),func_mounts非空时必选。
求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。
remove function命令 remove function命令,是删除指定函数的命令。默认会把整个函数删除,包含所有的版本、别名以及触发器。 当执行命令remove function -h/remove function --help时,可以获取帮助文档。 参数解析 表1