文档首页/ 对象存储服务 OBS/ 最佳实践/ 结合EG事件通知自动处理OBS桶中的图片
更新时间:2024-12-30 GMT+08:00
分享

结合EG事件通知自动处理OBS桶中的图片

应用场景

根据业务需求,您在OBS桶中执行上传、删除对象等操作后,希望能够自动触发执行后续操作流程,提升效率。

本实践将提供全流程方案,即向源桶中上传图片后,通过EG事件通知功能自动通知下游服务函数工作流FunctionGraph,触发函数为图片添加水印,并将处理后的图片上传至目标桶中。

方案架构

图1 结合EG通知自动处理OBS桶中图片架构图

结合EG通知自动处理OBS桶中图片的方案如下:

  1. 向源桶中上传图片,产生OBS事件作为事件源。
  2. EG事件通知(事件网格服务)通过通道将事件源路由至事件目标,从而触发函数执行。
  3. 函数工作流(FunctionGraph)执行函数处理图片、输出图片,并将图片上传至目标桶。

方案优势

  • 帮助您快速、实时地监控到OBS桶中的对象操作。
  • 涉及多流程业务执行时,可通过EG事件通知功能自动触发下游程序执行,节省了人工监控和执行的成本。

约束与限制

  • 使用的原图片大小不超过25MB。
  • 使用EG事件通知功能,存在一定的延迟,不建议时延敏感类业务场景使用。
  • 单桶默认最多同时配置10条EG事件通知策略。
  • 新创建的EG事件通知策略将在5分钟之内生效。
  • 单桶的多条EG事件通知策略不允许重复,重复的策略会创建失败,即任意对象在发生任意事件时都不能同时匹配两条以上的EG事件通知策略。

    针对同一事件,如果配置了一条前后缀均为空的EG事件通知策略,则不允许再配置第二条,因为前后缀均为空表示对所有对象生效。

    例如:针对Put事件,已存在一条EG事件通知策略A,定义的前缀是“abcd”,后缀是“.txt”。如果要创建另外一条针对Put事件的EG事件通知策略B,则策略B配置不同前后缀的结果如表1所示。

    表1 策略B前后缀配置场景及结果

    策略A前后缀配置

    策略B前后缀配置

    策略B创建结果

    原因

    前缀:abcd

    后缀:.txt

    前缀:abcd

    后缀:.txt

    失败

    前后缀相同

    前缀:abcd

    后缀:空

    失败

    前缀相同,B的后缀包含A的

    前缀:ab

    后缀:xt

    失败

    B的前缀包含A的,B的后缀包含A的

    前缀:abef

    后缀:.txt

    成功

    前缀不同,后缀相同

    前缀:abcd

    后缀:.mp4

    成功

    前缀相同,后缀不同

资源和成本规划

表2 资源规划

资源

资源名称

资源说明

数量

费用

OBS桶

piccomp

上传图片的源桶。

您需要在OBS控制台创建源桶。

1

根据图片占用的存储空间收费,具体请参见存储费用

piccomp-output

图片处理后存放的目标桶。

您需要在OBS控制台创建目标桶。

1

图片

example.jpg

用于添加水印的原图片。

您需要提前准备好需要添加水印的图片。

1

-

函数

FG_Test

为图片添加水印的函数。

您需要在函数工作流(FunctionGraph)控制台创建函数。

1

根据请求次数、执行时间、执行次数等收费,具体请参见函数工作流计费

EG事件订阅

subscription-obs

事件订阅将事件源、通道和事件目标绑定在一起,事件源(OBS事件)通过通道触发事件目标(函数)执行。

您需要在OBS控制台的“事件通知”页面创建EG事件订阅。

1

根据请求次数收费,具体请参见事件网格计费

前提条件

账号或IAM用户已具有Tenant Administrator权限。给账号授权请参见给IAM用户授权

操作流程

图2 为图片添加水印流程

实施步骤

相关文档