使用场景
媒体存储支持事件通知能力,当对象存储资源发生变动(如新对象上传、删除对象)时,用户可通过事件通知配置及时收到通知消息。
适用区域
本功能目前仅部分资源池支持,具体可参考:资源池与区域节点。
如需使用,可联系客户经理或提交工单申请。
使用说明
- 事件类型:支持多选,匹配一个事件类型触发一条通知。
- 资源描述 - 前缀、后缀:前后缀各支持配置一个。
- 资源描述 - 元数据:支持配置10个元数据,对象必须包含所配置的元数据才视为匹配。
- 当资源描述包含多个条件时,对象必须匹配所有条件才视为匹配。
- 目前事件通知回调暂不支持鉴权,用户需提供无需鉴权的回调地址。
- 当事件回调失败时,服务会重试回调,直至回调成功。
事件类型
事件通知目前支持以下事件类型:
事件类型 | 说明 |
---|---|
ObjectCreated:* | 所有上传对象的操作 |
ObjectCreated:Put | 通过PutOject接口上传对象的操作 |
ObjectCreated:Post | 通过PostObject接口上传对象的操作 |
ObjectCreated:Copy | 通过Copy接口上传对象的操作 |
ObjectCreated:CompleteMultipartUpload | 通过分片上传接口上传对象的操作 |
ObjectRemoved:* | 所有删除对象的操作 |
ObjectRemoved:Delete | 通过DeleteObject接口删除对象的操作 |
ObjectRemoved:DeleteMarkerCreated | 开启多版本的存储桶,在不指定versionId删除对象时会插入一个DeleteMarker的操作 |
事件通知消息结构
事件通知消息结构如下:
{
"Records": [
{
"eventVersion": "", // 版本号
"eventSource": "", // 消息源,固定为"ctyun:s3"
"awsRegion": "", // 事件所在的region
"eventTime": "", // 事件时间,格式为ISO-8601,示例:2023-06-13 02:20:19.032936Z
"eventName": "", // 触发事件通知的事件名
"userIdentity": {
"principalId": "" // 触发事件的用户ID
},
"requestParameters": {
"sourceIPAddress": "" // 请求的源IP
},
"responseElements": {
"x-amz-request-id": "", // 请求对应的requestid
"x-amz-id-2": "" // 帮助定位问题的特殊符号
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "", // 事件匹配的事件通知规则的名称
"bucket": {
"name": "examplebkt", // 桶名
"ownerIdentity": {
"principalId": "" // 桶拥有者的帐号ID
},
"arn": "arn:aws:s3:::examplebkt", // 桶的ARN
"id": "" // 桶id
},
"object": {
"key": "object", // 对象名
"size": 779, // 对象大小
"etag": "", // 对象ETag
"versionId": "", // 对象版本Id
"sequencer": "", // 确定某个特定对象事件顺序的标识
"metadata": [
{
"key": "x-amz-meta-a", // 用户自定义元数据
"val": "2"
}
],
}
},
"eventId": "" // 事件ID
}
]
}
使用方式
操作途径 | 使用方式 |
---|---|
控制台 | 可参考:事件通知。 |