检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 场景介绍 该案例演示客户如何使用FunctionGraph 与IoTDA 服务组合,处理物联网设备上报以及设备状态变动的相关数据。物联网设备在IoTDA 平台进行管理,设备产生的数据可以从IoTDA直接流转触发FunctionGraph 的函数运行。用户可以根据需要编写函数处理这些数据。
基本概念 函数 函数是处理事件的自定义代码。 事件源 事件源是发布事件的公有云服务或自定义应用程序。 同步调用 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 异步调用 异步调用是指客户端不关注请求调用的结果,服务
准备 创建IoTDA 转发规则前,需要先创建IoTDA实例,在正常的使用中还需要创建产品,设备。在本案例中仅进行测试,只需要先创建IoTDA实例。 创建IoTDA IoT实例 登录IoTDA控制台,左侧导航栏选择“IoTDA实例”,进入选择界面。 在“IoTDA实例”界面右侧,单击“购买实例
2 03:00:00左右完成扣费。 函数响应事件通知或调用(包括控制台的测试调用)开始执行时记为一次请求,请求次数是所有函数的请求总数。 未使用预留实例情况下,执行时间是从函数代码开始执行的时间算起到其返回或终止的时间为止。计量粒度是1毫秒,不足1毫秒按1毫秒计费。例如,函数A执行了0
修订记录 表1 修订记录 发布日期 修订记录 2022-11-21 新增接口内容如下: 分页查询指定函数流记录 2022-11-14 新增接口内容如下: 创建依赖包版本 获取依赖包版本列表 获取依赖包版本详情 删除依赖包版本 获取按指定指标排序的函数列表 获取函数预留实例配置列表
示例3:上传代码到OBS桶,并使用OBS链接创建函数 场景描述 本章节以Python 2.7为例,指导您在本地编码,然后将代码文件上传到OBS桶,实现通过OBS链接创建函数。 API的调用方法请参见如何调用API。 前提条件 已在OBS服务中创建OBS桶。 约束与限制 请确保函数与OBS桶创建在同一区域下。
1分钟计算,超过1分钟的部分,按照秒的粒度向上取整计算。具体详情请参见预留实例计费规则,计费样例请参见计费构成分析(场景一)。 按需计费 未开启空闲模式时 函数计算资源消耗公式:函数内存大小(GB)* 预留实例存活时间(单位秒)。 <=400,000GB-秒,不计费。 >400,
开发事件函数 Node.js函数接口定义 Node.js 6.10函数接口定义 export.handler = function(event, context, callback) 入口函数名(handler):入口函数名称, 需和函数执行入口处用户自定义的入口函数名称一致。
使用FunctionGraph函数流对图片进行压缩和打水印 本章节主要介绍如何使用函数流实现流式大文件处理。您可以根据实际业务场景来创建快速函数流实现。 背景与价值 Serverless Workflow由于自身可编排、有状态、持久化、可视化监控、异常处理、云服务集成等特性,适用于很多应用场景,比如:
参数类型 描述 timestamp Integer 时间戳 value Double 值,value值为-1表示当前时间段该指标无数据,例如函数未执行等情况。 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg
参数类型 描述 timestamp Integer 时间戳 value Double 值,value值为-1表示当前时间段该指标无数据,例如函数未执行等情况。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg
使用容器镜像创建并执行事件函数 本章节将以使用容器镜像方式创建事件函数为例,介绍容器镜像函数的创建及测试过程。用户需要在镜像中实现一个http server,并监听8000端口接收请求。其中,请求路径/init 默认为函数初始化入口,请根据需要实现该接口。请求路径/invoke为
参数类型 描述 timestamp Integer 时间戳 value Double 值,value值为-1表示当前时间段该指标无数据,例如函数未执行等情况。 请求示例 获取指定时间段的函数运行指标。 GET /v2/{project_id}/fgs/functions/{func_u
删除函数/版本 功能介绍 删除指定的函数或者特定的版本(不允许删除latest版本)。 如果URN中包含函数版本或者别名,则删除特定的函数版本或者别名指向的版本以及该版本关联的trigger。 如果URN中不包含版本或者别名,则删除整个函数,包含所有版本以及别名,触发器。 调用方法
获取指定函数模板 功能介绍 获取指定函数模板 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/templates/{template_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目
获取函数模板列表 功能介绍 获取函数模板列表 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/templates 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。
开发事件函数 PHP函数接口定义 FunctionGraph运行时支持PHP 7.3版本,PHP 7.3函数的接口定义如下所示: function handler($event, $context) 入口函数名($handler):入口函数名称, 需和函数执行入口处用户自定义的入口函数名称一致。
参数类型 描述 timestamp Integer 时间戳 value Double 值,value值为-1表示当前时间段该指标无数据,例如函数未执行等情况。 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg
开发事件函数 Python函数接口定义 FunctionGraph运行时支持Python 2.7版本、Python 3.6、Python3.9、Python3.10版本。 函数有明确的接口定义,如下所示。 def handler (event, context) 入口函数名(ha