检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
方案概述 本文介绍如何通过事件网格服务的事件订阅和函数服务实现OBS桶的数据同步。 方案架构 本实践事件订阅架构图如下所示: 图1 事件订阅架构图 当前事件网格服务仅支持华北-北京四、华北-乌兰察布一、华东-上海一、华东-上海二、华南-广州、亚太-新加坡、拉美-墨西哥城二。 父主题:
已开通函数服务并授权。 已开通OBS服务并授权。 已在OBS开通白名单(联系OBS服务)。 实践流程 创建事件订阅和事件路由流程如下图所示: 图1 流程图 父主题: 基于EventGrid事件订阅和Function实现OBS桶数据同步
实施步骤 创建OBS源桶和目标桶 创建FG函数 创建EG事件订阅 发送OBS事件 在事件追踪中查看事件投递信息 在函数服务的监控中查看代码执行详情 在OBS目标桶查看对象是否已完成同步 父主题: 基于EventGrid事件订阅和Function实现OBS桶数据同步
创建FG函数 本章节提供实现图片压缩功能的程序包,使用空白模板创建函数,样例代码请参见使用函数压缩图片。 创建函数(创建函数的时候,必须选择包含OBS访问权限的委托,否则不能使用OBS服务)。 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数列表界面。 单击“创建函数”,进入创建函数流程。
发送OBS事件 目前支持的事件类型。 图1 支持类型 事件类型中描述的事件(如上传、覆盖),在OBS中触发后,根据事件订阅中事件类型的选择,可对该事件进行路由传递。例如在桶名为test_zzy的OBS源桶中上传“test930.png”文件,目录为“success”。 图2 OBS桶列表
在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。 单击“创建事件订阅”,进入订阅详情页。 单击订阅名称旁的,弹出“修改订阅”弹窗。 输入订阅名称和描述信息,单击“确定”,完成订阅名称和描述信息输入。 配置事件源。 表1 参数配置说明 参数 说明 选择提供方 请选择“华为云”。 事件源 请选择“OBS应用事件源”。
在事件追踪中查看事件投递信息 在EG控制台界面,单击“事件通道”中对应的事件通道的“事件轨迹”可以看到该事件的投递详情和事件详情: 界面入口: 图1 界面入口 事件详情: 图2 事件详情 事件轨迹: 图3 事件轨迹 父主题: 实施步骤
按需计费 按需计费是一种先使用再付费的计费模式,适用于无需任何预付款或长期承诺的用户。本文将介绍按需计费EG的计费规则。 适用场景 按需计费适用于事件网格对事件进行过滤、路由和转化。 适用计费项 事件网格实际费用是由事件流入的数量构成,计费项按需计费说明请参见表1。 表1 计费项说明
事件目标 路由到函数工作流 路由到分布式消息服务Kafka版 路由到对象存储服务OBS 父主题: 事件流
在OBS目标桶查看对象是否已完成同步 该数据同步功能默认同步后路径一致,在目标桶桶目录下查看文件是否同步成功: 图1 目标桶目录 父主题: 实施步骤
在函数服务的监控中查看代码执行详情 在“函数列表”中找到进行数据同步的函数: 图1 函数列表 单击监控中对应的请求查看代码日志: 图2 代码日志 父主题: 实施步骤
并发消费,尽可能按时间顺序处理。 未设置消息组,消息乱序发送。 顺序消费 按队列存储粒度,严格顺序。 基于 Apache RocketMQ 本身队列的属性,消费顺序和队列存储的顺序一致,但不保证和发送顺序一致。 未设置消息组,消息乱序发送。 并发消费 并发消费,尽可能按照时间顺序处理。
某用户在10月份创建了3个事件A、B、C。假设在10月份中,事件A累计执行次数是2000万次、事件B累计执行次数是100万次、事件C累计执行次数1000万次,那么10月份中事件A、B和C总共产生多少费用? 计费构成分析 因为事件A、B和C有不同的执行次数,因此需要分段计算费用,具体明细如表1所示。
Serverless版事件流概述 事件流对事件源产生的事件实时拉取、过滤及转换,并路由至事件目标,是一种更为实时、轻量和高效的端到端的流式数据处理场景。 图1 事件流示意图 EG事件流目前处于公测阶段,欢迎您试用和体验相关的功能。 父主题: 事件流
String 桶的位置信息 storageClass Object 对象的存储类型 metadata Object 桶元数据 acl Object 桶ACL bucketStorageClass Object 桶的存储类型 bucketType String 桶类型 requestId
自定义事件模型:针对发送到自定义通道的事件,您可以自定义Schema,也可以通过过滤事件,推导出事件结构从而得到Schema。 这两种事件模型都存储在Schema注册表中,事件目标可以从Schema注册表中获取事件Schema的定义,实现快速访问事件。 事件网格的Schema遵循OpenSchema规范。
最大长度:128 addr 是 String rockectMq连接地址 group 是 String 消费组 最小长度:3 最大长度:64 topic 是 String topic名称 最小长度:3 最大长度:64 tag 否 String 标签 最大长度:128 vpc_id 是 String
最大长度:128 addr 是 String rockectMq连接地址 group 是 String 消费组 最小长度:3 最大长度:64 topic 是 String topic名称 最小长度:3 最大长度:64 tag 否 String 标签 最大长度:128 vpc_id 是 String
是否必选 参数类型 描述 project_id 是 String 租户项目ID eventstreaming_id 是 String 事件流ID 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用I
Apache RocketMQ 本身队列的属性,消费顺序和队列存储的顺序一致,但不保证和发送顺序一致。4、生产顺序为:未设置消息组,消息乱序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按照时间顺序处理。 枚举值: NORMAL ORDER engine_version