检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
VPC的管理控制台,单击左上角,选择区域。 左侧导航栏选择“虚拟私有云 > 弹性网卡”,在右侧“弹性网卡”页签中查看名称是“FunctionGraph-Access-VPC-Port”且类型是“扩展弹性网卡”的私有IP地址。关于弹性网卡详情请参考弹性网卡。 图4 查看私有IP 配置白名单或安全组的入/出方向规则时,请
使用函数模板创建函数 FunctionGraph提供了多种场景的函数模板,在使用函数模板创建函数时,可实现代码、环境变量自动填充,快速构建函数应用。 创建函数 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击右上方的“创建函数”,进入“创建函数”页面。 创建
调用函数 函数创建和配置完成后,可通过RESTful API或者云服务事件源触发函数执行,实现相关业务功能。根据客户端是否需要等待函数的处理结果,函数的调用可分为同步调用和异步调用两种方式。 约束与限制 同步调用场景下,函数最大运行时长限制为15分钟。 异步调用场景下,函数最大运
如果创建的函数类型是HTTP函数,请参考配置HTTP函数的代码包。 约束与限制 选择上传的代码包文件大小限制为40MB以内,如文件大小超过该限制,请使用从OBS上传函数代码方式上传代码包。 请参考表1查看所使用的运行时支持的直接上传代码文件类型。 表1 直接上传代码支持的文件类型 运行时 上传zip文件
参数“事件负载内容”的内容格式。(目前只支持application/json格式。) 事件负载内容 事件内容。 事件发生主题 事件发生的主题或对象,用以标识哪个具体对象发生了当前事件 输入过滤表达式 通过JSONPath表达式对节点的输入信息进行过滤。 输出过滤表达式 通过JSONPath表达式对节点的输出信息进行过滤。
随后单击蓝色的请求id查看日志。 图3 查看日志 图4 查看请求id详情 可以对程序进行修改,使数据可以用于调用其他系统或进行持久化存储,如存储到obs等。 父主题: 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
FunctionGraph的函数是否支持功能扩展? FunctionGraph目前已经集成了一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南。 用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理。 父主题:
权限及授权项说明 如果您需要对您所拥有的FunctionGraph进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),如果公有云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使
SYS.FunctionGraph 函数监控指标 表1 FunctionGraph支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) count 调用次数 该指标用于统计函数调用次数。 单位:次 ≥ 0 counts 函数 5分钟 failcount
srcObjName = getObsObjInfo4OBSTrigger(event) obs_address = context.getUserData('obs_address') outputBucket = context.getUserData('obs_output_bucket')
图1 执行shell命令 上传函数压缩包到OBS 图2 上传函数压缩包到OBS 步骤显示名称:上传函数压缩包到OBS 构建产物路径:输入helloworld/code/helloworld.zip 桶名:选择一个私有桶存储函数代码zip包 OBS存储目录:function 上传部署包到软件发布库
若容器回收,文件的读写就会失效。 函数目前不支持持久化。 典型场景 需要对OBS上的文件进行处理,可以先把文件下载到/tmp目录。 函数运行过程中产生了一些数据想保存到OBS,可以先在/tmp目录下创建新文件,然后把这些数据写到里面,接下来上传该文件到OBS。 获取上传的文件 以Python语言为例,如果用户用os
上传的文件大小限制为40M,如超过40M,请通过OBS上传。 depend_link 否 String depend_type为obs类型时,依赖包在obs的存储地址。 depend_type 是 String 导入类型,目前支持obs和zip。 runtime 是 String
03:15 使用空白模板创建函数 函数工作流 介绍如何使用APIG触发器 02:10 使用APIG触发器 函数工作流 介绍如何使用OBS触发器 03:10 使用OBS触发器 函数工作流 介绍如何使用SMN触发器 02:33 使用SMN触发器 函数工作流 使用DIS触发器 02:42 使用DIS触发器
继续使用这些函数打印日志会导致Request ID错乱。此时应该使用context.getLogger(),获取一个日志输出对象,通过这个日志输出对象打印日志。例如Python: log = context.getLogger() log.info("test") 共享变量 不涉及。
上传的文件大小限制为40M,如超过40M,请通过OBS上传。 depend_link 否 String depend_type为obs类型时,依赖包在obs的存储地址。 depend_type 是 String 导入类型,目前支持obs和zip。 runtime 是 String
ZIP格式:解压后原始代码大小为1500M。 OBS桶:最大可上传300M压缩后的代码包。 前端页面展示代码大小 20MB 私有依赖包 直接上传ZIP文件:上传的文件大小限制为10M,如超过10M,请通过OBS上传。 从OBS上传文件:格式为OBS URL链接,文件必须为ZIP格式。 函数流
入口函数名(handler):入口函数名称,需和函数执行入口处用户自定义的入口函数名称一致。 执行事件(event): 函数执行界面由用户输入的执行事件参数, 格式为JSON对象。 上下文环境(Context):Runtime提供的函数执行上下文,其接口定义在SDK接口说明。 执行事件(event)支持三种请求参数定义,格式为:
nGraph 的函数运行。用户可以根据需要编写函数处理这些数据。 通常该组合,可以适用于以下场景,如将设备上报的数据在处理后进行存储到如OBS;对上报的数据进行结构化,清洗然后存储到数据库;根据设备状态变化进行事件通知等。 该案例重点在如何组合IoTDA 与 FunctionGraph,关于如何在IoTDA
响应Body参数 参数 参数类型 描述 id String 依赖包ID。 owner String 依赖包拥有者。 link String 依赖包在obs的存储地址。 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3