使用轻量消息队列(原 MNS)订阅对象存储OSS事件对文件变动进行实时处理

场景简介

本场景将当您需要对阿里云对象存储服务(OSS)中的文件变动进行实时处理、同步、监听、业务触发、日志记录等操作时,您可以通过设置阿里云对象存储服务(OSS)的事件通知规则,自定义关注的文件,并及时收到相关通知。

费用说明

本实验使用轻量消息队列(原MNS),实验总费用不超过1元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。

优势说明

  • 轻量消息队列(原 MNS)作为事件通知的数据通道,队列的异步解耦等特点保障了事件的可靠投递又保障下游消费者的稳定性。

  • 轻量消息队列(原 MNS)已集成在OSS事件通知功能中,用户在OSS控制台或SMQ控制台都可配置事件通知规则。

  • 轻量消息队列(原 MNS)支持一份事件数据投递到多种订阅类型或多个订阅者。

方案架构

image

背景知识

本场景主要涉及以下云产品和服务:

  • 轻量消息队列(原MNS)

    轻量消息队列(原MNS)是一款易集成、高并发、可弹性扩展的轻量消息队列服务。消息服务的轻量队列模型、按量后付费的计费模式、自动适应高并发的弹性可扩展能力,让开发者低成本快速构建分布式、松耦合系统,高效地传递数据和通知消息。

  • 阿里云对象存储服务(OSS)

    阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。

 

 

 
 

用MNS队列订阅OSS事件

  1. 在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》和我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操。

  2. 创建事件通知规则。

    用户在OSS控制台或MNS控制台都可配置事件通知规则,这里以MNS控制台为例。

    1. 登录MNS控制台

    2. 在左侧导航栏中选择事件通知,地域选择华东1(杭州),单击创建规则按钮。

      image

    3. 创建规则面板中,填写如下参数后,单击确定。

      • 名称:test-oss-mns

      • 事件类型:PutObject、PostObject、DeleteObject

      • Bucket匹配方式:单Bucket

      • OSS Bucket:可场景页面左侧云产品资源中查看

      • 匹配规则:选择后缀,输入.txt

      • 接收终端:选择队列,选择刚才创建的 oss-events-queue

      image

    4. 创建后生成如下规则。

      image

  3. 上传OSS文件。

    1. 云产品资源列表的对象存储OSS区域,单击管理。

      image

    2. 进入文件管理 > 文件列表页面,单击上传文件按钮(本场景以test.txt文件为例)。

      重要

      需自行创建一个后缀为.txt的文件。

      image

    3. 在上传文件页面,单击扫描文件,上传后缀为.txt的文件后,单击上传文件。

      image

      如下图所示文件上传成功。

      image

  4. 启动队列消费者。

    1. 云产品资源列表的轻量消息队列(原 MNS)区域,单击管理。

      image

    2. 进入MNS控制台后,单击oss-events-queue队列名称,进入基础信息页面。

      image

    3. 基础信息选项卡中,单击右上角收发消息按钮。在收发消息快速体验页面,单击接收消息按钮。

      说明

      若单击接受消息按钮后无返回消息后,可等待1-2分钟重新尝试。

      image

      image

    4. 在接受消息栏中,单击消息ID,可以看到OSS事件内容如下。

      image

    5.  
 
 

 

 

 
 

 

 
 

 

 
   
   
   
   
 

 

 

 发收消息

 

 

 
   
 

将事件通知到多个消费者或多个渠道

  1. 进入轻量消息队列(原 MNS)控制台。

  2. 在左侧导航栏中选择事件通知,找到刚刚创建的test-oss-mns规则,复制主题名称。

    image

  3. 左侧导航栏中选择主题列表,单击主题名称进入主题详情页。

    image

  4. 选择订阅列表选项卡,单击创建订阅按钮,填写如下参数后,单击确定。

    • 订阅名称:oss-events-sub2

    • 订阅类型:队列

    • 接收端地址:test-a

    image

  5. 添加后队列test-a也可以收到一份完整的符合规则的OSS事件。

 
 mns-en-topics-oss-test-oss-mns-11053818788858  
 

 

 
 

清理资源

  • 在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除相关资源后,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定,否则资源会持续运行产生费用。

    • 删除事件。

      1. 进入轻量消息队列(原MNS)控制台。

      2. 在页面右上角,地域切换至华东1(杭州)。在右侧导航栏中单击事件通知,找到创建的事件规则,单击右侧删除。

        image

      3. 请仔细阅读弹出的提示对话框,确认无误后单击确认。

        image

    • 删除相关资源后,单击结束实操。在结束实操对话框中,单击确定。

      image

  • 在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。

    image

 
   
   
   
 

 

 
 

 

 
   
 

 

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
posted @   aiplus  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2014-02-14 Android应用中对于微信分享的实例及问题
悬浮按钮示例
点击右上角即可分享
微信分享提示