检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现处理DIS数据的功能。 场景介绍 使用数据接入服务(DIS)采集IOT实时数据流,需要将采集到的数据进行处理(比如格式转换),然后存储到表格存储服务(CloudTable Service)中,使用FunctionGraph
添加事件源 函数创建以后,可以为函数添加事件源,本例通过配置DIS测试事件,模拟DIS输入数据,步骤如下。 用户进入DISDemo函数详情页,在“代码”页签下,选择配置测试事件,如图1所示,弹出“配置测试事件页”。 图1 配置测试事件 在“配置测试事件页”,输入配置信息,如图2所示
构建函数程序 编辑函数程序 打开创建的函数iotdemo,复制以下坐标转换代码,仅供测试不建议用于生产用途,用户也可以根据自己的需要修改。 # -*- coding:utf-8 -*- import json import math from math import pi def
构建程序 本例提供了DIS数据流格式转换的源码和程序包(包含函数依赖),使用空白模板创建函数,用户可以下载、学习使用。 创建工程 本例使用Java语言实现DIS数据流格式转换功能,有关函数开发的过程请参考Java函数开发指南,本例不再介绍业务功能实现的代码。 下载样例源码(fss_examples_dis_cloudtable_src.zip
调用函数 FunctionGraph的函数执行需要多长时间? FunctionGraph的函数执行包含了哪些过程? FunctionGraph函数长时间不执行时,相关的实例会如何处理? 如何获取函数运行过程中的内存使用量信息? 为什么首次调用函数时速度会比较慢? 为什么函数实际使用内存大于预估内存
处理遥测 http://localhost:{PORT},localhost是本地主机IP:127.0.0.1。 使用遥测 API 订阅后,扩展会自动开始通过遥测侦听器接收来自FunctionGraph的遥测数据。每个 POST 请求正文都包含 Event 对象数组。 订阅事件类型包括三大类
C#函数开发 C#函数接口定义 FunctionGraph运行时目前支持C#(.NET Core 2.1)、C#(.NET Core 3.1)、C#(.NET Core 6.0,当前仅支持华北-乌兰察布二零二、华北-乌兰察布二零一、拉美-墨西哥城二)版本。 C#函数接口定义:作用域
create, dns:recordset:list, dns:recordset:update, dns:zone:create, dns:zone:delete, dns:zone:get, dns:zone:list BSS bss:bill:view bss:renewal
计费项 计费说明 函数工作流的计费项是由请求次数费用、执行时间费用、节点执行次数(函数流)和其他费用构成,具体内容如表1。 如您需要快速了解函数工作流服务的具体价格,请参见函数工作流价格详情。 表1 函数工作流计费项 计费项 计费项说明 适用的计费模式 计费公式 请求次数费用 在您使用函数的过程中会产生请求次数费用
event, Context context) throws UnsupportedEncodingException { System.out.println(event); System.out.println(event.getMessage().getRecords
服务韧性 华为云数据中心按规则部署在全球各地,所有数据中心都处于正常运营状态,无一闲置。数据中心互为灾备中心,如一地出现故障,系统在满足合规政策前提下自动将客户应用和数据转离受影响区域,保证业务的连续性。为了减少由硬件故障、自然灾害或其他灾难带来的服务中断,华为云为所有数据中心提供灾难恢复计划
步骤五:搭建函数更新流水线 此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。 新建构建任务 在“构建&发布 > 编译构建”页面,单击“新建任务”。 源码仓库选择functions仓库,构建模板选择“空白构建模板
创建函数 登录函数工作流控制台,在左侧导航栏选择“总览”,单击“创建函数”进入创建函数界面。 选择“创建空白函数”,在创建函数界面配置如下信息:函数类型选择“事件函数”、输入您自定义的函数名称,此处以“access-redis-demo”为例,选择运行时“Python3.9”,最后单击创建函数
日志告警 配置函数代码执行返回结果 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "
调试函数 在函数详情页的编码区中,通过配置测试事件进行函数调试。 在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
调用 serverless invoke命令 调用已部署的函数。您可以发送事件数据、读取日志和查看函数调用的其他重要信息。 serverless invoke --function functionName 选项 --function或-f:要调用的服务中函数的名称,必填。 --data
计费样例 计费场景一 某用户在4月份创建了3个函数A、B、C,如表1所示。假设在4月份中,函数A累计执行次数是200万次、函数B累计执行次数是10万次、函数C累计执行次数10万次,那么4月份中函数A、B和C总共产生多少费用? 表1 函数创建详情 函数名称 说明 函数A(未使用预留实例
dns:recordset:get(查询租户Record Set资源) dns:zone:get(查询租户zone) dns:recordset:list(查询Record Set列表) dns:zone:list(查询zone列表) 开启异步通知 目标服务为OBS时: OBS Administrator
创建依赖包 创建一个redis-py的依赖包,建议使用redis-py 4.6.0(校验包:redis-4.6.0.zip.sha256)版本。 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。 单击“创建依赖包”,弹出“创建依赖包”对话框。
准备工作 购买Redis实例,如果已有Redis实例可以跳过。 查看Redis实例的连接信息,获取待连接Redis实例的IP地址。具体步骤请参见查看实例信息。 创建一个有“VPC Administrator”权限的FunctionGraph云服务委托,配置委托权限请参见配置委托权限