检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
连接DCS集群实例 from redis.cluster import RedisCluster as Redis from redis.cluster import ClusterNode redis_client = None def create_redis_client(context):
方案概述 应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
准备 创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
添加事件源 创建LTS触发器 选择准备中创建的日志组和日志流,创建LTS触发器,LTS触发器配置如图1所示。 图1 创建LTS触发器 云日志服务LTS的消费端在日志累积大小或日志累积时间满足条件时消费LTS日志数据,并根据订阅该组LTS日志数据的函数URN触发函数执行。 父主题:
构建程序 前提条件 (1)函数中的IP地址为LTS的接入点,获取接入点IP方法如下: 登录云日志服务 LTS控制台,在左侧导航栏选择“主机管理 > 主机”; 在页面右上方,单击“安装ICAgent”; 在弹出的“安装ICAgent”窗口中获取接入点IP。 图1 接入点IP (2)
使用FunctionGraph函数流对图片进行压缩和打水印 本章节主要介绍如何使用函数流实现流式大文件处理。您可以根据实际业务场景来创建快速函数流实现。 背景与价值 Serverless Workflow由于自身可编排、有状态、持久化、可视化监控、异常处理、云服务集成等特性,适用于很多应用场景,比如:
添加事件源 创建LTS触发器 选择准备中创建的日志组和日志主题,创建LTS触发器。LTS触发器配置如图1所示。 LTS日志服务的消费端在日志累积大小或日志累积时间满足条件时消费LTS日志数据,并根据订阅该组LTS日志数据的函数URN触发函数执行。 图1 创建LTS触发器 父主题:
准备 创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和打水印后输出的图片。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
准备 日志采集和存储 在云日志服务创建日志组,此处以polo.guoying为例,创建过程请参考创建日志组。 在云日志服务创建日志流,此处以lts-topic-gfz3为例,创建过程请参考创建日志流。 在云日志服务配置Agent,快速将ECS等服务器上日志采集到指定的日志组,配置过程请参考安装ICAgent。
添加事件源 OBS桶及函数创建以后,可以为函数添加事件源,是通过创建“OBS应用事件源”实现的,步骤如下。 用户进入fss_examples_dew函数详情页,在“触发器”页签,单击“创建触发器”,弹出“创建触发器”界面。 触发器类型选择“OBS应用事件源”,填写触发器配置信息,如图1所示。
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
案例概述 本案例展示了函数工作流服务配合使用云日志服务LTS实现日志云端处理并转储消息到LTS的功能。 场景介绍 通过云日志服务LTS,快速完成ECS等服务器的任务运行日志的采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信
添加事件源 OBS桶及函数创建以后,可以为函数添加事件源,添加OBS事件源是通过创建OBS应用事件源实现的,步骤如下。 用户进入fss_examples_image_watermark函数详情页,在“触发器”页签,单击“创建触发器”,弹出“创建触发器”界面。 触发器类型选择“OB
准备 创建函数前,需要创建1个OBS桶,用来保存用户上传的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 在服务控制台左侧导航栏,选择“存储
处理结果 处理告警信息 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。
处理图片 当图片上传后更新至hugb-bucket-input桶时,会生成事件,触发函数运行,将上传图片打水印,保存在hugb-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入hugb-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
Redis健康检查 配置Redis定时健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()