检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3
本次查询可获取的依赖包的最大数目,默认为"400"。 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type
若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。 图3 函数指标1 图4 函数指标2
port 8000 is running..') HTTP函数只能绑定APIG/APIC触发器,根据函数和APIG/APIC之间的转发协议,函数的返回合法的http响应报文中必须包含body(String)、statusCode(int)、headers(Map)和isBase64
若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,可收到SMN发送的通知消息邮件,如图1所示。同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可以通过函数指标查看函数的调用情况,如图3所示。 图3 函数指标
创建函数工程:在本地进行编码实现函数功能。 上传工程到OBS桶:将代码文件压缩为zip格式并上传到已创建的OBS桶中,记录代码文件的OBS链接。 创建函数:调用API通过OBS链接创建函数。 步骤1:创建函数工程 编写打印helloworld的代码。 打开文本编辑器,编写helloworld函数,代码如下,文件命名为“helloworld
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 T
配置函数 进入2创建的函数详情页面,在“设置”页签下,执行以下配置。 “权限”选择3创建的委托。 打开VPC访问开关,配置上述操作中创建的VPC、子网、域名,详情参考图4。 图4 配置函数 验证结果 保存后执行函数时,就能在代码中解析该域名中配置的所有IPV4类型的域名。 图5 执行函数
函数运行超时时间,单位秒,范围3~900秒。 userData 否 是 用户自定义的name/value信息,在函数中使用的参数。 encryptedUserData 否 是 用户自定义的name/value信息,用于需要加密的配置。 initializerTimeout 否 是 初始化超时时间
Unauthorized 被请求的页面需要认证。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。
测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2
callback返回的第一个参数不为null,则认为函数执行失败,会返回定义在第二个参数的HTTP错误信息。 注意,当使用APIG触发器时,函数返回必须使用示例中output的格式, 函数Body参数仅支持返回如下几种类型的值。相关约束条件请参考Base64解码和返回结构体的说明。 nu
FunctionGraph服务监控指标说明 功能说明 本节定义了FunctionGraph服务中“函数”上报云监控服务的监控指标。 指标的命名空间和维度,您可以通过云监控服务提供的API接口来检索FunctionGraph服务中“函数”产生的监控指标和告警信息。 命名空间 SYS.FunctionGraph 监控指标 表1
函数执行时的入参,支持引用constants中的常量 定义方式:参数路径 | 常量值/常量路径 参数路径指输入参数的JsonPath路径,如$.a.b[0].c 常量值可以为数字类型,字符串类型(需要用单引号括起来),布尔类型 常量路径为常量的JsonPath路径,但是根节点需要用$CONST表示,示例:$CONST
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph
函数工作流的常见使用场景? 函数调用绑定在APIG的域名的服务,报域名无法解析? 同步函数工作流能否支持到内网最大带宽的同步传输 ? 单租户的VPC超过默认配额时,需要怎么做? 如何打印info、error、warn级别的日志? 函数是否可以把API的接口域名配置成自己的域名? 函数工作流是否支持修改运行时语言
获取base64编码前的内容 getUserData() 获取APIG自定义认证中设置的userdata 表2 APIGRequestContext相关方法说明 方法名 方法说明 getApiId() 获取API的ID getRequestId() 获取此次API请求的requestId
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
BS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶、输出文件的目标桶和函数必须处于同一个区域下。
创建定时开启或者关闭华为公有云虚拟机的函数,上传定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包,并选择创建的委托EcsOperation。创建过程请参考创建函数。 运行时语言选择“Python3.6”,委托名称选择上一步创建的委托“EcsOperation”。