Configuring Lifecycle event notifications - Amazon Simple Storage Service

Configuring Lifecycle event notifications

You can set up an Amazon S3 event notification to receive notice when Amazon S3 deletes an object or transitions it to another Amazon S3 storage class following an S3 Lifecycle rule.

By using the LifecycleExpiration event types, you can receive notifications whenever Amazon S3 deletes an object based on your S3 Lifecycle configuration. The s3:LifecycleExpiration:Delete event type notifies you when an object in an unversioned bucket is deleted. It also notifies you when an object version is permanently deleted by an S3 Lifecycle configuration. The s3:LifecycleExpiration:DeleteMarkerCreated event type notifies you when S3 Lifecycle creates a delete marker when a current version of an object in a versioned bucket is deleted. For more information, see Delete object version.

By using the s3:LifecycleTransition event type, you can receive notification when an object is transitioned from one Amazon S3 storage class to another by an S3 Lifecycle configuration.

Amazon S3 can publish event notifications to an Amazon Simple Notification Service (Amazon SNS) topic, an Amazon Simple Queue Service (Amazon SQS) queue, or an AWS Lambda function. For more information, see Amazon S3 Event Notifications.

For instructions on how to configure Amazon S3 Event Notifications, see Enabling event notifications.

The following is an example of a message that Amazon S3 sends to publish an s3:LifecycleExpiration:Delete event. For more information, see Event message structure.

{ "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":"DOC-EXAMPLE-BUCKET", "ownerIdentity":{ "principalId":"A3NL1KOZZKExample" }, "arn":"arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, "object":{ "key":"expiration/delete", "sequencer":"0055AED6DCD90281E5", } } } ] }

Messages that Amazon S3 sends to publish an s3:LifecycleTransition event also include the following information.

"lifecycleEventData":{ "transitionEventData": { "destinationStorageClass": the destination storage class for the object } }