检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
否 String 企业项目ID 最小长度:0 最大长度:64 enable_stream_response 否 Boolean 是否返回流数据 缺省值:false 表3 Trigger 参数 是否必选 参数类型 描述 trigger_name 是 String 触发器名称 最小长度:1
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OB
处理图片 当图片上传后更新至hugb-bucket-input桶时,会生成事件,触发函数运行,将上传图片打水印,保存在hugb-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入hugb-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
处理结果 处理告警信息 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,可收到SMN发送的通知消息邮件,如图1所示。同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可
连接DCS单机、主备、读写分离、Proxy集群实例 from redis.backoff import ExponentialBackoff from redis.retry import Retry from redis.client import Redis from redis
配置函数的委托权限。 请参见配置网络开启函数访问VPC内资源的网络配置。 文档数据库服务DDS: 已创建DDS文档数据库实例,创建过程请参见购买文档数据库实例。 已创建DDS文档数据库,请参见新建数据库。 开启函数访问VPC内资源后,请参见设置DDS安全组规则在DDS服务安全组配置对应子网的权限。
函数流支持配置函数服务组件,通过该组件可以关联已创建的函数,进而实现业务需求。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 配置的函数节点返回的数据格式必须是json格式,否则会解析失败。 同步调用不支持长时间函数,最大执行时长为15分钟。
函数是华为云函数工作流函数。它是一个独立的部署单元,就像微服务一样。它只是部署在云中的代码,主要是为了执行单个任务而编写,例如: 将用户保存到数据库。 处理数据库中的文件。 您可以在代码中执行多个任务,但不建议在没有充分理由的情况下这样做。分离关注点是最好的,Framework旨在帮助您轻松开发和部署函数,以及管理它们。
在触发调用后立即得到返回,从而不因长耗时处理阻塞业务主逻辑的执行。 实时感知任务状态 无 并行处理 离线GPU任务需要处理大量数据,对GPU资源供给要求高,通过API调用并行运行加快处理速度。 数据源集成 离线GPU任务对数据源的需求多种多样,处理过程中需要与多种存储产品(例如对象存储OBS)和多种消息产品(例如消息队列)进行频繁交互。
来加载在容器中的题库数据通过外部文件系统挂载盘方式挂载到容器中。 FunctionGraph通过LTS日志采集容器输出到控制台的所有日志,可以通过标准输出或者开源日志框架重定向到控制台的方式打印业务信息。打印的内容建议包括系统时间、组件名称、代码行、关键数据等来方便定位。 oom
使用容器镜像部署函数 05 实践 创建业务所需函数,结合不同的触发器,实现不同的功能。 应用 使用函数压缩图片 使用函数为图片打水印 使用函数处理DIS数据 函数+APIG:处理文件上传 定时开关华为公有云虚拟机 函数+LTS:日志实时分析实战 函数+CTS:登录/登出安全分析实战 使用Spr
最大提取字节数(DIS触发器参数)。 最小值:0 最大值:4194304 is_serial 否 String 串行处理数据(DIS触发器参数),如果开启该选项,取一次数据处理完之后才会取下一次数据;否则只要拉取周期到了就会取数据进行处理。DIS触发器此参数必填。 枚举值: true false log_group_id
变量 Serverless Framework提供了一个强大的变量系统,您可以将动态数据添加到serverless.yml中。使用Serverless变量,您将能够执行以下操作: 引用并加载环境变量中的变量。 引用并加载CLI选项中的变量。 递归引用同一serverless.yml文件中的任何类型的属性。
DIS数据处理模板为例进行介绍。确定好模板后,单击“使用模板”进入应用配置页面。 图1 选择应用模板 在“应用配置”页,填写如下信息: 区域:默认。 项目:默认。 应用名称:自定义。 运行时语言:默认。 委托名称:根据实际情况选择是否使用委托,例如步骤3中创建的DIS数据处理模板
运行时语言选择“Python2.7”,委托名称选择创建委托中的“serverless_trust”。 函数实现的功能是:将收到的日志事件数据进行分析,过滤白名单功能,对非法IP登录/登出,进行SMN消息主题邮件告警。形成良好的账户安全监听服务。 设置环境变量 在函数配置页签需配
obtained. Please set an agency. 目前函数模板新增定时开启/停止华为公有云数据库的RDS实例模板能力,可有效帮助您管理资源、降低维护成本。 图2 定时开启/停止华为公有云数据库模板 图3 填写基本信息 步骤二:测试函数 在函数详情页,单击“测试”,在弹窗中创建新的测试事件。
个简单的Get请求。 图4 配置测试事件 单击“创建”,完成测试事件创建。 单击“测试”,获取响应。 建议在测试时函数内存规格、超时时间调大,如512MB、5s。 图5 查看函数返回结果 配置APIG触发器测试 请参见使用APIG触发器,创建APIG触发器,“安全认证”建议选择“None”,方便调试。
配置不同的环境变量以区分。例如,通过环境变量给测试和开发环境配置不同的数据库。 加密配置:函数中访问其他服务的认证信息,例如账号和密码、AK/SK等,可通过配置加密环境变量,在代码中动态获取,保证敏感数据的安全。 动态配置:函数逻辑中需要动态调整的配置,例如查询周期、超时时间,
模拟APIG(专享版)事件,触发函数。 云审计服务(CTS) 模拟CTS事件,触发函数。 文档数据库服务(DDS) 模拟DDS事件,触发函数。 云数据库 GeminiDB Mongo 模拟GeminiDB Mongo事件,触发函数。 数据接入服务(DIS) 模拟DIS事件,触发函数。 云日志服务(LTS)