检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,过滤出告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。 将函数处理后的日志数据投递至OBS桶中集中存储,便于后续处理。处理流程如图1。 图1
表10 DDS触发器数据说明 字段名称 字段说明 instance_id 文档数据库实例ID collection_name 集合名称 db_name 文档数据库名称 db_password 文档数据库用户密码 batch_size 批次大小 Kafka触发器数据如下。 {
方案概述 应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
互通过数据流驱动。其中数据流的控制通过 Stream Bridge 组件来实现。同时函数 SDK 增加流式数据返回接口,用户不需要将整个文件内容返回,而是通过 gRPC Stream 的方式将数据写入到 Stream Bridge,Stream Bridge 用来分发数据流到下一个步骤的函数
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
准备 本例提供了日志实时过滤功能的程序包及依赖包,用户可以下载 lts_cleanse.zip(包含函数A代码文件write_log.py、函数B代码文件lts_cleanse.py及依赖包huaweicloudsdklts) 、lts_cleanse.zip.sha256 学习使用。
loudsdklts,如图3和图4所示。 图3 lts_cleanse.py 图4 为函数B添加依赖包 函数实现的功能是:将收到的日志事件数据进行base64解码,然后提取出包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,将此级别的日志投递至创建好的LT
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 使用FunctionGraph函数实现通过API方式上传文件
连接DCS集群实例 from redis.cluster import RedisCluster as Redis from redis.cluster import ClusterNode redis_client = None def create_redis_client(context):
"application/json" } } body = event['body'] #APIG触发器默认对数据进行Base64编码,这里解码 raw_data = base64.b64decode(body) for part in
资源规划 表1 资源规划 产品 配置示例 API网关APIG 区域:北京四 规格:可使用共享版APIG或者创建专享版APIG实例 函数工作流FunctionGraph 区域:北京四 计费模式:按需计费 父主题: 使用FunctionGraph函数实现通过API方式上传文件
函数的调用处理一致。 一般场景下,多个请求处理可以共享的业务逻辑适合放到初始化函数,以降低函数时延,例如深度学习场景下加载规格较大的模型、数据库场景下连接池构建。 约束与限制 函数初始化入口需要和函数执行入口在同一文件下。 开启函数初始化功能后,各运行时的函数初始化入口命名规范与原有函数执行入口保持一致。如Node
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
云端数据加工处理 在OBS对象存储服务创建OBS桶和OBS对象,并配置事件通知。 在OBS对象存储服务创建OBS桶和OBS对象,如图1所示,创建过程请参考创建OBS桶。 图1 OBS桶 创建的OBS桶名为“logstore”,OBS对象为“log.txt”用于存储日志数据。 创建委托
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
Body().withKeyId(keyId).withDatakeyLength(AES_KEY_BIT_LENGTH)); // 创建数据密钥 final CreateDatakeyResponse createDatakeyResponse = kmsClient.crea
桶名称:输入您自定义的桶名称,此处以“your-bucket-input”为例。 数据冗余存储策略:“单AZ存储”。 默认存储类别:“标准存储”。 桶策略:"私有"。 默认加密:“关闭”。 归档数据直读:“关闭”。 其余参数保持默认,单击“立即创建”,完成源桶创建。 完成桶创建以
}); }); busboy.on('finish', function () { //这里处理数据 logger.info(buf.toString()); return { 'statusCode':
创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“LtsOperation”。 函数实现的功能是:将收到的日志事件数据进行base64解码,然后提取出包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,将此级别的日志投递至OBS桶中集