MNS支持OSS事件通知啦!!!

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: MNS 推出重磅功能,支持阿里云各大服务通过MNS实现事件通知(回调)。用户可以通过在MNS上创建事件通知的规则,来关注其他阿里云产品指定资源上产生的事件,并且由MNS以消息的方式主动推送到指定的接收端。 事件通知按区域提供服务 事件通知为异步通知,不会影响用户使用其...

事件通知概述,请参考介绍

MNS 推出重磅功能,支持阿里云各大服务通过MNS实现事件通知(回调)。用户可以通过在MNS上创建事件通知的规则,来关注其他阿里云产品指定资源上产生的事件,并且由MNS以消息的方式主动推送到指定的接收端。

  • 事件通知按区域提供服务
  • 事件通知为异步通知,不会影响用户使用其他云产品的体验
  • 事件通知消息在有效时间内不会丢失,当用户接收消息失败时,会按照指定的重试策略重试
  • 事件通知消息的接收端目前支持HttpServer和Queue(可以将消息转移到Queue中,由用户来主动消费)
  • 事件通知中消息推送的相关介绍请参考主题模型

event-notification

注意事项

  • 事件通知规则创建完,约10分钟后生效
  • 在没有其他规则的情况下,默认规则匹配所有资源上的所有事件
  • 在有其他规则并且也有默认规则的情况下,不匹配其他规则的事件会匹配默认规则
  • 事件通知规则只能创建和删除,目前不支持更新

作用

  • 如果您授权其他人可以对您的资源(Bucket)进行某些操作,而您又希望关注这些操作的话,您就可以创建对应的规则,使得这些操作发生时,能够主动通知到您。
  • 如果您需要对操作进行统计的话,也可以通过事件通知的方式进行数据分析,查看一段时间内某个操作发生的次数,据此来分析您的业务最近有什么样的发展趋势。并且,您也可以将这些事件通知的消息继续导入其他服务(比如:EMR,进一步进行您自定义的分析)
  • 您也可以通过事件通知监控您的资源上发生的某些操作的QPS等等指标。

五步玩转事件通知

示例:

某个用户创建了一个Bucket:event-notification-test,然后他关心有哪些Object被上传到这个Bucket中了,他想把事件通知消息推送到Queue中,然后再慢慢消费,于是他就可以创建下面这样的事件通知规则:

  • 规则名称:event-notification-test-rule
  • 资源描述:event-notification-test/
  • 事件类型:PutObject、PostObject
  • 接收终端:event-notification-test-queue

五步玩转事件通知:

  • Step1. 创建Bucket
  • Step2. 创建消息接收的Queue
  • Step3. 创建事件通知规则
  • Step4. 上传Object
  • Step5. 查看Queue中是否接收到消息

Step1. 创建Bucket

  • 登录阿里云官网,进入OSS控制台,点击“新建Bucket”,再依次填入BucketName:“event-notification-test”以及选择所属地域:“华南1”(此处方便测试可以设置读写权限为公共读写),如下:

11

12

13

Step2. 创建消息接收的Queue

  • 进入MNS控制台,选择“华南1”区域,点击“创建队列”,再依次输入队列名称:“event-notification-test-queue”,选择地域:“华南1”,其他按默认值即可,如下:

21

22

23

Step3. 创建事件通知规则

  • 依然保持在MNS控制台,选择左边标签页:“事件通知”,点击“创建规则”,再依次输入规则名称:“event-notification-test-rule”、添加资源(点击“添加”按钮)、选择事件类型(可以多选)以及添加接收终端,如下图:
  • 其中资源描述稍微复杂一些,可以参考资源描述后面的问号“?”,其中给了Tips,摘录如下(特别注意:资源描述不能有交集):
资源描述可以是全名、前缀、后缀以及前后缀,不同资源描述不能有交集。
OSS资源包括Bucket和Object,通过“/”连接。
以Bucket(movie)和Object(hello.avi)为例。
1.全名:movie/hello.avi;
2.前缀:
    movie/hello,表示movie中以hello为前缀的所有Object,
    movie/,表示movie中所有的Object,
    mov,表示以mov为前缀的所有Bucket中的所有Object;
3.后缀:.avi,表示所有Bucket中以.avi为后缀的Object;
4.前后缀:前movie/,后.avi,表示movie中所有以.avi为后缀的Object。
  • 接收端目前支持HttpServer以及Queue两种,此处我们选择Step2.中创建的Queue。
  • 创建一条新规则后,MNS会自动创建一个Topic,并且以指定的Endpoint创建订阅,可以从MNS控制台发布订阅的标签页进行查看,并且可以自由管理这些Topic与Subscription(比如创建新的订阅)。
  • 新规则创建完成后,需要约10分钟的时间才能生效。

31

32

33

34

35

36

37

38

39

Step4. 上传Object

  • 新规则创建成功10分钟后,回到OSS控制台,尝试上传Object到Step1.创建的Bucket:“event-notification-test”中,验证是否能够触发事件通知。在OSS控制台选中“event-notification-test”,再点击左侧标签页的Object管理,然后在该标签页上传Object,如下图:

41

42

43

44

Step5. 查看Queue中是否接收到消息

  • 上传Object成功后,回到MNS控制台,选中左侧标签页“队列”,并选中区域:“华南1”,查看Step2.创建的队列中的活跃消息数是否为1,并可以点击“接收消息”,查看推送过来的具体事件通知消息。同时,在发布订阅标签页中,也可以看到Topic中多了一条消息,至此可验证事件通知成功。如下图:
  • 推送的事件通知消息内容如下,其具体含义可参考Here
{"events": [{ "eventName": "ObjectCreated:PutObject", "eventSource": "acs:oss", "eventTime": "2016-07-05T15:07:59.000Z", "eventVersion": "1.0", "oss": { "bucket": { "arn": "acs:oss:cn-shenzhen:12345:event-notification-test", "name": "event-notification-test", "ownerIdentity": "12345"}, "object": { "deltaSize": 0, "eTag": "D41D8CD98F00B204E9800998ECF8427E", "key": "a", "size": 0}, "ossSchemaVersion": "1.0", "ruleId": "event-notification-test-rule"}, "region": "cn-shenzhen", "requestParameters": {"sourceIPAddress": "140.205.128.107"}, "responseElements": {"requestId": "577BCD4FF3D45CE477F2FA94"}, "userIdentity": {"principalId": "1390402650033793"}}]}

51

52

53

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
JavaScript 对象存储
JS - 阿里云 OSS 文件下载通用办法(支持跨域)
JS - 阿里云 OSS 文件下载通用办法(支持跨域)
3338 0
JS - 阿里云 OSS 文件下载通用办法(支持跨域)
|
网络协议 开发工具 对象存储
OSS正式支持IPv6公测
6月20日阿里云宣布全面支持IPv6, 随后阿里云开放对象存储OSS也逐步开始向用户公测,本周主要介绍如何在OSS上测试IPv6。
3283 0
|
存储 API 对象存储
OSS新特性:支持文件上传、复制时,指定Object的存储类型以及修改已有文件的存储类型
用户在上传、复制文件时,可灵活地指定文件的存储类型为Standard、IA、Archive;用户也可以修改实时修改文件的存储类型,比如从低频型(IA)修改为标准型。
5236 0
|
对象存储
oss 追加上传支持excel文件使用吗
oss 追加上传支持excel文件使用吗
|
分布式计算 大数据 Hadoop
Apache Hadoop 2.7如何支持读写OSS
背景 2017.12.13日Apache Hadoop 3.0.0正式版本发布,默认支持阿里云OSS对象存储系统,作为Hadoop兼容的文件系统,后续版本号大于等于Hadoop 2.9.x系列也支持OSS。
3736 0
|
消息中间件 对象存储
OSS 入门基础篇-OSS 事件通知
在创建事件通知规则的时候,自定义您关注的Object信息,当这些资源发生变化后,您可以第一时间收到通知
OSS 入门基础篇-OSS 事件通知
|
消息中间件 JSON 对象存储
手把手教您对象存储OSS事件通知的重要操作!
对象存储OSS支持事件通知功能,您可以通过配置事件通知,及时了解您的OSS资源上的相关操作。
1492 0
|
资源调度 关系型数据库 MySQL
让运行在 Docker 中的 Ghost 支持阿里云 OSS
本篇内容,以封装 Ghost 定制镜像简单说明了如何基于官方镜像进行扩展,并简单示范了 Docker Multistage Build,以及 Ghost 3.x 版本如何使用 Aliyun OSS。
2276 0
|
SQL 监控 NoSQL
数据湖分析服务Data Lake Analytics发布支持OSS多版本优化、控制台等多项优化及改进
数据湖分析服务 Data Lake Analytics SQL引擎是兼容MySQL协议的,具备高性能的Serverless化的联邦分析引擎,支持OSS、MySQL、PG、SQLServer、Redis、MongoDB、HBase、OTS等数据源。
数据湖分析服务Data Lake Analytics发布支持OSS多版本优化、控制台等多项优化及改进
|
对象存储
OSS 支持设置Bucket标签,以及按Bucket标签进行授权管理
OSS 支持设置对Bucket设置标签,并按标签查询Bucket,以及结合访问控制RAM,按标签进行授权
1882 0

相关产品

  • 对象存储