检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
图解函数工作流服务
"application/json" } } body = event['body'] #APIG触发器默认对数据进行Base64编码,这里解码 raw_data = base64.b64decode(body) for part in
FunctionGraph函数初始化入口 在示例代码中,initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client =
云端数据加工处理 在OBS对象存储服务创建OBS桶和OBS对象,并配置事件通知。 在OBS对象存储服务创建OBS桶和OBS对象,如图1所示,创建过程请参考创建OBS桶。 图1 OBS桶 创建的OBS桶名为“logstore”,OBS对象为“log.txt”用于存储日志数据。 创建委托
使用FunctionGraph函数流对OBS中的图片进行旋转 案例概述 准备 构建程序 处理图片 父主题: 数据处理类实践
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS 案例概述 准备 构建程序 添加事件源 处理结果 父主题: 数据处理类实践
准备 本例提供了日志实时过滤功能的程序包及依赖包,用户可以下载 lts_cleanse.zip(包含函数A代码文件write_log.py、函数B代码文件lts_cleanse.py及依赖包huaweicloudsdklts) 、lts_cleanse.zip.sha256 学习使用。
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
添加事件源 OBS桶及函数创建以后,可以为函数添加事件源,是通过创建“OBS应用事件源”实现的,步骤如下。 用户进入fss_examples_dew函数详情页,在“触发器”页签,单击“创建触发器”,弹出“创建触发器”界面。 触发器类型选择“OBS应用事件源”,填写触发器配置信息,如图1所示。
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
处理图片 当图片上传后更新至hugb-bucket-input桶时,会生成事件,触发函数运行,将上传图片打水印,保存在hugb-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入hugb-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OB
配置以下参数。 触发器类型:选择“设备接入(IoTDA)”。 实例:选择已经创建好的IoTDA实例。 数据来源、触发事件、资源空间:详情请参见表1。 表1 配置说明 数据来源 触发事件 资源空间 设备 设备添加、设备删除、设备更新 选择资源空间。IoTDA实例支持创建多个资源
处理结果 处理告警信息 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,可收到SMN发送的通知消息邮件,如图1所示。同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可
IoTDA 使用IoTDA触发器,对于设备上报到平台的数据,FunctionGraph可跟踪设备的设备属性、消息上报,状态变更,分析、整理和计量数据流(IoTDA示例事件)。 IoTDA触发器的使用请参见使用IoTDA触发器。 云数据库 GeminiDB Mongo 使用GeminiDB
None: 无认证模式,所有用户均可访问。 None 请求协议 必选参数。 API的请求协议分为两种类型: HTTP:数据在传输过程中不被加密。 HTTPS:数据在传输过程中被加密。 HTTPS 后端超时(毫秒) 必选参数。 设置API的后端超时时间,单位为毫秒,设置范围为1~60000毫秒。
配置函数的委托权限。 请参见配置网络开启函数访问VPC内资源的网络配置。 文档数据库服务DDS: 已创建DDS文档数据库实例,创建过程请参见购买文档数据库实例。 已创建DDS文档数据库,请参见新建数据库。 开启函数访问VPC内资源后,请参见设置DDS安全组规则在DDS服务安全组配置对应子网的权限。
连接DCS单机、主备、读写分离、Proxy集群实例 from redis.backoff import ExponentialBackoff from redis.retry import Retry from redis.client import Redis from redis