开发者社区> 消息小二> 正文

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

简介: 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CDH5 Hadoop如何支持读写OSS
CDH和CM(Cloudera Manager) CDH (Cloudera’s Distribution, including Apache Hadoop)是众多Hadoop发行版本中的一种,由Cloudera维护,目前有不少用户使用这个发行版本。
3278 0
iOS 为移动动画中的View添加touch事件
对Core Animation来说,不管是显式动画还是隐式动画,对其设置frame都是立即设置的,比如说给一个UIView做移动动画,虽然看起来frame在持续改变,但其实它的frame已经是最终值了,这种情况下,哪怕这个UIView是UIButton的实例,其触发touch事件的范围还是最终frame的地方。
868 0
支持OSS的群晖nas开箱体验(内部冒死流出,42张美图)
第一款支持阿里云OSS的群辉NAS 群辉是桌面NAS设备的领军人物,阿里云是云存储龙头老大,两者结合到一起能碰撞出什么样的火花?群辉已经推出支持阿里云存储OSS的设备,通过内部关系,我第一时间拿到两台,一睹为快。
15943 0
OSS支持IPV6/IPV4双栈访问域名
OSS开放IPv6/IPv4双栈域名,可同时支持IPv6/IPv4客户端的访问,支持下一代互联网技术IPv6,可服务海量物理网设备连接等应用场景。
3312 0
安卓使用Root权限实现后台模拟全局按键、触屏事件方法(类似按键精灵)
继续在网上搜索安卓按键模拟(其实那时都不知道用什么关键字好了,能想到的关键字都用遍了,但是搜索出来的结果,都是之前提到的那几个依赖源码环境和系统权限的方案)。发现有很多介绍ADB调试,向手机发送按键事件的文章。
1334 0
+关注
消息小二
阿里云消息服务MNS 官方账号
16
文章
1
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
相关文档: 混合云容灾服务 混合云备份服务 日志服务
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载