检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
构建程序 本例提供了为图片打水印功能的程序包,使用空白模板创建函数,用户可以下载(watermark.zip)学习使用。 创建程序包 本例使用Python语言实现为图片打水印的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。
桶名称:输入您自定义的桶名称,此处以“your-bucket-input”为例。 数据冗余存储策略:“单AZ存储”。 默认存储类别:“标准存储”。 桶策略:"私有"。 默认加密:“关闭”。 归档数据直读:“关闭”。 其余参数保持默认,单击“立即创建”,完成源桶创建。 完成桶创建以
}); }); busboy.on('finish', function () { //这里处理数据 logger.info(buf.toString()); return { 'statusCode':
创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“LtsOperation”。 函数实现的功能是:将收到的日志事件数据进行base64解码,然后提取出包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,将此级别的日志投递至OBS桶中集
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定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):
连接DCS单机、主备、读写分离、Proxy集群实例 from redis.backoff import ExponentialBackoff from redis.retry import Retry from redis.client import Redis from redis
处理结果 处理告警信息 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。
互通过数据流驱动。其中数据流的控制通过 Stream Bridge 组件来实现。同时函数 SDK 增加流式数据返回接口,用户不需要将整个文件内容返回,而是通过 gRPC Stream 的方式将数据写入到 Stream Bridge,Stream Bridge 用来分发数据流到下一个步骤的函数
loudsdklts,如图3和图4所示。 图3 lts_cleanse.py 图4 为函数B添加依赖包 函数实现的功能是:将收到的日志事件数据进行base64解码,然后提取出包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,将此级别的日志投递至创建好的LT
"application/json" } } body = event['body'] #APIG触发器默认对数据进行Base64编码,这里解码 raw_data = base64.b64decode(body) for part in
节的优化,函数服务能做到负载快速增长时稳定的延时。4是函数内部初始化逻辑,属于应用层面的冷启动开销,例如深度学习场景下加载规格较大的模型、数据库场景下连接池构建、函数依赖库加载等等。 为了减小应用层冷启动对延时的影响,FunctionGraph推出了initializer接口,系
云端数据加工处理 在OBS对象存储服务创建OBS桶和OBS对象,并配置事件通知。 在OBS对象存储服务创建OBS桶和OBS对象,如图1所示,创建过程请参考创建OBS桶。 图1 OBS桶 创建的OBS桶名为“logstore”,OBS对象为“log.txt”用于存储日志数据。 创建委托
添加事件源 OBS桶及函数创建以后,可以为函数添加事件源,添加OBS事件源是通过创建OBS应用事件源实现的,步骤如下。 用户进入fss_examples_image_watermark函数详情页,在“触发器”页签,单击“创建触发器”,弹出“创建触发器”界面。 触发器类型选择“OB
Redis健康检查 配置Redis定时健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
FunctionGraph函数初始化入口 在示例代码中,initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client =
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
8M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有5种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 Custom-Image-Swr:
最小值为128,最大值为10240。 cpu 函数占用的CPU资源。 code_type 函数代码类型,取值有4种: inline:UI在线编辑代码。 zip:函数代码为zip包。 jar:函数代码为jar包,主要针对Java函数。 obs:函数代码来源于OBS存储。 code_url
obtained. Please set an agency. 目前函数模板新增定时开启/停止华为公有云数据库的RDS实例模板能力,可有效帮助您管理资源、降低维护成本。 图2 定时开启/停止华为公有云数据库模板 图3 填写基本信息 步骤二:测试函数 在函数详情页,单击“测试”,在弹窗中创建新的测试事件。