You need to enable JavaScript to run this app.
导航

事件通知概述

最近更新时间2024.01.15 15:20:44

首次发布时间2022.08.05 19:35:52

如果您希望实时掌握在 TOS 中的资源变动,可以设置事件通知规则。本文介绍事件通知的背景信息、前提条件及 TOS 支持的事件类型。

背景信息

TOS 支持将部分事件的变动投递到函数服务。关于函数服务的详细信息,请参见什么是函数服务

注意事项

当前仅华北2(北京)和华东2(上海)地域支持事件通知功能。

支持的事件类型

事件类别

事件名称

TOS 对应接口

描述

tos:ObjectCreated:*

tos:ObjectCreated:Put

PutObject

通过简单上传对象后触发。

tos:ObjectCreated:Post

PostObject

通过表单上传对象后触发。

tos:ObjectCreated:Origin

GetObject

创建回源规则,回源成功上传到 TOS 后触发。

tos:ObjectCreated:Fetch

FetchObject

拉取对象后触发。

tos:ObjectCreated:Copy

CopyObject

对象复制成功后触发。

tos:ObjectCreated:CompleteUpload

CompleteUpload

分片上传提交成功后触发。

tos:ObjectRemoved:*

tos:ObjectRemoved:Delete

DeleteObject

删除对象后触发(包括批量删除)。

tos:ObjectRemoved:DeleteMarkerCreated

DeleteObject

删除对象生成删除标记后触发。

tos:LifecycleExpiration:*

tos:LifecycleExpiration:Delete

DeleteObject

通过生命周期规则永久删除对象后触发。

tos:LifecycleExpiration:DeleteMarkerCreated

DeleteObject

通过生命周期规则创建删除标记后触发。

tos:ObjectReplication:*

tos:ObjectReplication:ObjectCreated

-

通过跨区域复制规则或同区域复制规则生成对象后触发。

tos:ObjectReplication:ObjectModified

-

通过跨区域复制规则或同区域复制规则覆盖对象后触发。

tos:ObjecRestore:*

tos:ObjectRestore:Post

RestoreObject

创建归档存储、冷归档和深度冷归档恢复任务时触发。

tos:ObjectRestore:Completed

RestoreObject

完成归档存储、冷归档和深度冷归档恢复任务时触发。

事件通知格式

对象存储事件触发的事件通知格式如下所示。

{"events": [
      {
       "eventName":"tos:ObjectCreated:Put",
        "eventSource":"tos",
        "eventTime":"2022-08-29T08:50:54Z",
        "eventVersion":"1.0",
        "tos":{
            "bucket":{
                "trn":"trn:tos:::test",
                "name":"test",
                "ownerIdentify":"2100000000"
             },
             "object":{
                 "eTag":"\"cbd8273ce352dfac24d5d65fa3f8****\"",
                 "key":"aa.png",
                 "size":29098,
                 "versionId":"57CE0809CDADB97E****"
             },
             "tosSchemaVersion":"1.0",
             "ruleId":"testput",
             "region":"cn-beijing",
             "requestParameters":{
                 "sourceIPAddress":"192.160.**.***:*****"
             },
             "responseElements":{
                 "requestId":"99cb480c7dee50d6630c7dee-ac14****"
             },
             "userIdentity":{
                 "principalId":"trn:iam::2100000000:user/test"
            },         
        }        
     }
  ]
}

参数说明如下。

参数

类型

示例值

描述

eventName

String

tos:ObjectCreated:Put

事件通知类型,TOS 支持的事件类型,请参见事件类型

eventSource

String

tos

设置事件通知的消息源,固定为 tos

eventTime

String

2022-08-29T08:50:54Z

事件产生的时间。使用 ISO-8601 时间表示法。

eventVersion

String

1.0

事件通知版本号,目前为 1.0

tos

bucket

trn

String

trn:tos:::test

Bucket 的唯一标识符,格式为trn:tos:::<bucketname>

name

String

test

存储桶名称。

ownerIdentity

String

2100100000

创建 Bucket 的火山引擎账号ID。

object

eTag

String

"cbd8273ce352dfac24d5d65fa3f8****"

对象的 ETag,deleteMarkerCreate 事件时该参数为空。

key

String

aa.png

对象名称。

size

String

29098

对象大小, deleteMarkerCreate 事件时该参数为0。

versionId

String

57CE0809CDADB97E****

对象版本 ID,deleteMarkerCreate 事件时,该参数为 deleteMarker 的 ID。

tosSchemaVersion

String

1.0

此字段域的版本号,目前为 1.0

ruleId

String

testput

设置的事件通知名称。

region

String

cn-beijing

存储桶所在的地域。

requestParameters

sourceIPAddress

String

192.160.**.***:*****

请求的源 IP 地址。

responseElements

requestId

String

99cb480c7dee50d6630c7dee-ac14****

请求对应的 Request ID。

userIdentity

principalId

String

trn:iam::2100000000:user/test

请求发起者对应的火山引擎账号信息,说明如下:

  • 使用主账号:为主账号 ID。
  • 使用子账号:格式为 trn:iam::<AccountID>:user/<username>

操作步骤

具体步骤,请参见设置事件通知