检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务组合,处理物联网设备上报以及设备状态变动的相关数据。物联网设备在IoTDA 平台进行管理,设备产生的数据可以从IoTDA直接流转触发FunctionGraph 的函数运行。用户可以根据需要编写函数处理这些数据。 通常该组合,可以适用于以下场景,如将设备上报的数据在处理后进行存储到如OBS;对上报的数据进行结构
身份认证与访问控制 身份认证 用户访问FunctionGraph的方式有多种,包括FunctionGraph控制台、API、SDK,无论访问方式封装成何种形式,其本质都是通过FunctionGraph提供的REST风格的API接口进行请求。FunctionGraph支持Token认证和AK/SK认证。
函数模型介绍 本节内容主要介绍FunctionGraph函数模型和Trigger Management触发器模型的返回字段。通过提前熟悉返回字段的参数说明,方便您快速了解API接口的功能,详细信息请参考API。 FunctionGraph函数模型 函数Trigger Management触发器模型
aph资源。 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。 将FunctionGraph资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云服务可以根据权限进行代运维。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章
FunctionGraph提供基于云监控服务CES的资源和操作监控能力,帮助用户监控账号下的函数,执行自动实时监控、告警和通知操作。用户可以掌握函数中的调用次数、错误次数、运行时间(包括最大运行时间、最小运行时间、平均运行时间)、被拒绝次数、资源统计等信息。 关于FunctionGraph支持的监控指标,请参见监
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
请求路径或请求参数默认携带在event的入参中,FunctionGraph函数对APIG调用的传入值为函数自带的事件模板。您可以通过打印函数执行结果,获取请求路径或请求参数。 示例: queryStringParameters:GET请求中URL后面要带的参数,当发起一次GET请求时,参数会以url
version list命令 version list命令,是查看服务已发布的版本列表的命令。 当执行命令version list -h/version list --help时,可以获取帮助文档。 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考Serverless
欠费说明 您使用函数工作流时,账户的可用额度小于待结算的账单,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值。 当账号进入欠费状态时,需要在约定时间内支付欠款,详细操作请参考欠费还款。 欠费原因 在按需计费模式下账户的余额不足。 欠费影响 欠费后,您无法创建、执行函数及对资源执行任何操作。
函数工作流采用按需付费方式,无最低费用,即总费用 = 请求次数费用 + 计量时间费用+节点执行次数(函数流)费用+其他费用。 如您需要快速了解函数工作流服务不同计费模式的具体价格,请参见函数工作流价格详情。 父主题: 计费模式
同步调用 同步调用指的是客户端触发函数后,需阻塞等待函数调用结果返回的场景。 当前的API网关APIG(共享版)、API网关APIG(专享版)、服务集成APIC是默认同步触发。另外,您也可以使用同步执行函数接口同步触发函数。 同步调用场景下,函数最大运行时长限制为15分钟。 父主题:
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph
⑤执行Select查询语句。 如下是在函数首次调用包含冷启动的的完整函数执行过程。 图8 示例 Spans动作说明如下: load:是下载解压用户函数代码包和依赖包的时间。 preload:运行时加载用户函数代码和初始化函数执行环境的时间。 init:初始化函数的执行时间,初始化函数只有在冷启动时才会被执行。
remove alias命令 remove alias命令,是删除指定服务别名的命令。 当执行命令remove alias -h/remove alias --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义
alias get命令 alias get命令,是获取服务指定别名详情的命令。 当执行命令alias get -h/alias get --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义 region -
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 函数+APIG:处理文件上传
Python SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接
Go SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Go SDK信息说明 SDK信息 说明 安装 go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3
} else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 get template successfully 400
Java SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Java SDK信息说明 SDK信息 说明 安装 <dependency> <groupId>com.huaweicloud.sdk</groupId>