手把手教您对象存储OSS事件通知的重要操作!

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 对象存储OSS支持事件通知功能,您可以通过配置事件通知,及时了解您的OSS资源上的相关操作。

云栖号快速入门:【点击查看更多云产品快速入门】
不知道怎么入门?这里分分钟解决新手入门等基础问题,可快速完成产品配置操作!

对象存储OSS支持事件通知功能,您可以通过配置事件通知,及时了解您的OSS资源上的相关操作。

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

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

679E206E_9192_464c_A84F_871774D7767F

OSS事件通知是异步进行的,不影响正常的OSS操作。事件通知的配置包括规则消息通知两部分。

  • 规则:用来描述什么情况下需要OSS进行消息通知。
  • 消息通知:基于阿里云消息服务MNS实现,提供多种通知方式。
    OSS事件通知整体架构如下图:

image

操作方式

配置事件通知功能请参见配置事件通知

事件类型列表

7262338D_752E_4878_82F5_560994BA3030

事件通知消息格式

OSS的事件通知消息内容是经过Base64编码的,解码后是JSON格式,具体内容如下:

{"events": [{
    "eventName": "",  //事件通知类型
    "eventSource": "", //消息源,固定为"acs:oss"
    "eventTime": "", //事件时间,格式为ISO-8601
    "eventVersion": "", //版本号,目前为"1.0"
    "oss": {
        "bucket": {
            "arn": "", //bucket的唯一标识符,格式为"acs:oss:region:uid:bucket"
            "name": "", //bucket名称
            "ownerIdentity": ""}, //bucket的owner
        "object": {
            "deltaSize": , //object大小的变化量,比如新增一个文件,这个值就是文件大小,如果是覆盖一个文件,这个值就是新文件与旧文件的差值,因此可能为负数
            "eTag": "", //object的etag,与GetObject()请求返回的ETag头的内容相同
            "key": "", //object名称
            "position":, //可变项,只有在ObjectCreated:AppendObject事件中才有,表示此次请求开始append的位置,注意是从0开始
            "readFrom": , //可变项,只有在ObjectDownloaded:GetObject事件中才有,表示文件开始读取的位置,如果不是Range请求,则此项为0,否则则是Range请求的开始字节,注意是从0开始
            "readTo": , //可变项,只有在ObjectDownloaded:GetObject事件中才有,表示文件最后读取的位置,如果不是Range请求,则此项为文件的大小,否则则是Range请求的结束字节增1
            "size": }, //object大小
        "ossSchemaVersion": "", //此字段域的版本号,目前为"1.0"
        "ruleId": "GetObject"}, //此事件匹配的规则ID
        "region": "", //bucket所在的region
        "requestParameters": {
            "sourceIPAddress": ""}, //请求的源IP
        "responseElements": {
            "requestId": ""}, //请求对应的requestid
        "userIdentity": {
            "principalId": ""}, //请求发起者的uid
        "xVars": {  //oss的callback功能中的自定义参数
            "x:callback-var1":"value1",
            "x:vallback-var2":"value2"}}]}

示例:

{"events": [{
    "eventName": "ObjectDownloaded:GetObject",
    "eventSource": "acs:oss",
    "eventTime": "2016-07-01T11:17:30.000Z",
    "eventVersion": "1.0",
    "oss": {
        "bucket": {
            "arn": "acs:oss:cn-shenzhen:11489********46818:event-notification-test-shenzhen",
            "name": "event-notification-test-shenzhen",
            "ownerIdentity": "11489********46818"},
        "object": {
            "deltaSize": 0,
            "eTag": "0CC175B9C0F1B6xxxxxx99E269772661",
            "key": "test",
            "readFrom": 0,
            "readTo": 1,
            "size": 1},
        "ossSchemaVersion": "1.0",
        "ruleId": "GetObjectRule"},
        "region": "cn-shenzhen",
        "requestParameters": {
            "sourceIPAddress": "140.xx.xx.90"},
        "responseElements": {
            "requestId": "5776514Axxxxxxx542425D2B"},
        "userIdentity": {
            "principalId": "11489********46818"},
        "xVars": {
            "x:callback-var1":"value1",
            "x:vallback-var2":"value2"}}]}

本文来自 阿里云文档中心 对象存储OSS 事件通知

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
消息中间件 对象存储
OSS 入门基础篇-OSS 事件通知
浅谈: OSS 的事件通知本质上是调用客户的 mns 产品,在 OSS 操作成功后,根据对应的事件类型触发 mns 回调,涉及到两个产品 OSS、mns ,排查时也要分开排查不能混为一谈。 使用遇到问题 案例: 控制台上配置事件通知报错,configurationcountlimitexception 排查: 出现这种问题异常后说明默认的,mns 产品的事件通知已经达到上限(默认是 10),如果想要提升数量请提交工单联系 mns 产品责任人提升,非 OSS 故障。
2085 0
OSS 入门基础篇-OSS 事件通知
|
消息中间件 对象存储
MNS支持OSS事件通知啦!!!
MNS 推出重磅功能,支持阿里云各大服务通过MNS实现事件通知(回调)。用户可以通过在MNS上创建事件通知的规则,来关注其他阿里云产品指定资源上产生的事件,并且由MNS以消息的方式主动推送到指定的接收端。 事件通知按区域提供服务 事件通知为异步通知,不会影响用户使用其...
5094 0
|
1月前
|
Java API 开发工具
如何用阿里云 oss 下载文件
阿里云对象存储服务(OSS)提供了多种方式下载文件,以下讲解下各种方式的下载方法
758 1
|
28天前
|
存储 安全 对象存储
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
本文详细介绍了怎样帮助新手小白从注册,购买阿里云OSS,到一步一步配置OSS做为图床,和PicGo、Typora软件连接,配置好关联之后,在使用Typora写文章时,如果需要插入图片,只需要将图片复制粘贴到Typora的编辑区域,就会自动通过PicGo上传到指定图床,自动复制外网能访问的URL并展示,简直不要太方便,极大的解决了编辑文章时复制处理图片链接的痛点。
147 2
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
|
2月前
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
170 1
|
1月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
3月前
|
存储 Java 对象存储
springboot配置阿里云OSS存储实现文件上传下载功能
【1月更文挑战第1天】springboot配置阿里云OSS存储实现文件上传下载功能
532 2
|
3月前
|
Cloud Native Java 开发工具
云原生 阿里云分布式文件系统 对象存储OSS 服务配置
【1月更文挑战第8天】云原生 阿里云分布式文件系统 对象存储OSS 服务配置
|
4天前
|
存储 Java API
阿里云oss简介和使用流程
本文档介绍了如何准备阿里云OSS(对象存储服务)并开始使用它。首先,需要注册阿里云账号并进行实名认证,然后购买OSS资源包。在阿里云控制台中,可以创建和管理OSS存储空间(称为“Bucket”)。接着,文章简要介绍了阿里云OSS,它是一个基于云端的对象存储服务,提供高可靠性、高性能、低成本和易于使用的特性。 在阿里云OSS控制台,用户可以进行文件的上传和下载操作。通过API,开发者可以使用各种编程语言(如Java)来创建、删除Bucket以及上传、下载和删除文件。例如,Java代码示例展示了如何创建Bucket、上传文件、删除文件以及下载文件到本地的操作。
|
11天前
|
开发工具 对象存储
阿里云OSS文件上传
阿里云OSS文件上传
53 0

热门文章

最新文章