配置 S3 生命周期事件通知 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置 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 } }