OSS 入门基础篇-OSS 事件通知

作者:张医博


功能描述:


您可以在创建事件通知规则的时候,自定义您关注的Object信息,当这些资源发生变化后,您可以第一时间收到通知。例如:



  • 有新数据从图片内容分享平台、音视频平台上传到OSS。
  • OSS上的相关内容发生了更新。
  • OSS上的重要文件被删除。
  • OSS上数据同步已经完成。

OSS 入门基础篇-OSS 事件通知


开通须知


1、通知方式分为 HTTP 通知和队列通知。



  • HTTP 是用户填入一个服务器的 URL地址,OSS 在监测到客户操作完成后,去 POST URL 地址回调用户;
  • 队列的方式需要用户开通阿里云的 MNS 服务,配置好队列后在 OSS 控制台填入队列名称,OSS 通过 MNS 回调用户;

OSS 入门基础篇-OSS 事件通知


2、系统会自动为新建的规则创建主题,主题实例可能产生费用,详见 消息服务价格。


3、删除规则后,主题不会自动删除,可以登录 消息服务控制台 进行删除。


4、规则配置分为两种,根据资源描述分为:全名、前后缀。很多用户在这里遇到了坑,需要注意。



  • 全名:用户上传的文件必须和规则配置的绝对一致才会触发,比如全名是 bucket/image/1.png ,那用户上传也要是 image/1.png ,如果上传的是 image/2.png 就不会通知;
  • 前后缀:用户上传的文件前缀或者后缀满足条件即可触发。比如前缀为 bucket/202003- ,这种规则可以匹配到 202003-01202003-02....,如果配置的后缀为 bucket/202003-/jpg ,可以匹配到 202003-01/1.jpg202003-02/2.jpg

常见问题分析


场景一:控制台上配置事件通知报错,configurationcountlimitexception


出现这种问题异常后说明默认的,mns 产品的事件通知已经达到上限(默认是 10),如果想要提升数量请提交工单联系 mns 支持人员提升,非 OSS 故障。


OSS 入门基础篇-OSS 事件通知


场景二:ossutil 上传文件成功,但是客户配置的 mns 队列没有收到通知


可能导致问题原因如下:



  • 用户上传失败 ,有可能被劫持虽然反馈了状态码,但是没有返回 x-oss-requestid 标识,建议用户把判断成功标准改为 httpcode ==200 ,并且 requestID != null;
  • mns 产品可能出现消息堆积,需要提交工单确认;
  • 用户配置的 oss 事件类型不全,比如 OSS 控制台用的是 PostObject ,ossutil 上传大文件使用的分片传输。如果规则没配置全就不会触发;
  • 用户上传文件的 prefix 和事件通知配置的不符,或者用户使用的是全名匹配但上传用的是前后缀;
  • 用户配置的是前后缀规则,但是前缀并不是单独创建的 object,而且上传文件时和 object 一起创建的,比如,用户如过是通过这种方式 创建的 imageprefix/1.png,那 imageprefix 不在是一个独立的前缀,而是和 imageprefix/1.png 绑定在一起;

上一篇:阿里云智能视觉AI Quick Start


下一篇:阿里云图像搜索Quick Start