配置 S3 生命周期事件通知
要在 Amazon S3 删除对象或因遵循 S3 生命周期规则而将对象转换为另一个 Amazon S3 存储类时接收通知,可以设置 Amazon S3 事件通知。
您可以收到以下 S3 生命周期事件的通知:
-
转换事件 – 通过使用
s3:LifecycleTransition
事件类型,当对象按照 S3 生命周期配置从一个 Amazon S3 存储类转换到另一个存储类时,您可以收到通知。 -
到期(删除)事件 – 通过使用
LifecycleExpiration
事件类型,每当 Amazon S3 基于 S3 生命周期配置删除对象时,您都可以收到通知。有两种到期事件类型:
-
当删除不受版本控制的存储桶中的对象时,
s3:LifecycleExpiration:Delete
事件类型会通知您。当 S3 生命周期配置永久删除对象版本时,s3:LifecycleExpiration:Delete
也会通知您。 -
在删除受版本控制的存储桶中对象的当前版本后,如果 S3 生命周期创建删除标记,
s3:LifecycleExpiration:DeleteMarkerCreated
事件类型会通知您。有关更多信息,请参阅 从启用了版本控制的存储桶中删除对象版本。
-
Amazon S3 可以将事件通知发布到 Amazon Simple Notification Service (Amazon SNS) 主题、Amazon Simple Queue Service (Amazon SQS) 队列或 Amazon Lambda 函数。有关更多信息,请参阅 Amazon S3 事件通知。
有关如何配置 Amazon S3 事件通知的说明,请参阅使用 Amazon SQS、Amazon SNS 和 Amazon Lambda 启用事件通知。
以下是 Amazon S3 发送以发布 s3:LifecycleExpiration:Delete
事件的消息示例。有关更多信息,请参阅 事件消息结构。
{ "Records":[ { "eventVersion":"2.3", "eventSource":"aws:s3", "awsRegion":"us-west-2", "eventTime":"1970-01-01T00:00:00.000Z", "eventName":"LifecycleExpiration:Delete", "userIdentity":{ "principalId":"s3.amazonaws.com" }, "requestParameters":{ "sourceIPAddress":"s3.amazonaws.com" }, "responseElements":{ "x-amz-request-id":"C3D13FE58DE4C810", "x-amz-id-2":"FMyUVURIY8/IgAtTv8xRjskZQpcIZ9KG4V5Wp6S7S/JRWeUWerMUE5JgHvANOjpD" }, "s3":{ "s3SchemaVersion":"1.0", "configurationId":"testConfigRule", "bucket":{ "name":"
amzn-s3-demo-bucket
", "ownerIdentity":{ "principalId":"A3NL1KOZZKExample" }, "arn":"arn:aws:s3:::amzn-s3-demo-bucket
" }, "object":{ "key":"expiration/delete", "sequencer":"0055AED6DCD90281E5", } } } ] }
Amazon S3 为发布 s3:LifecycleTransition
事件而发送的消息中还包括以下信息:
"lifecycleEventData":{ "transitionEventData": { "destinationStorageClass":
the destination storage class for the object
} }