設定 S3 生命週期事件通知 - Amazon Simple Storage Service

設定 S3 生命週期事件通知

若要在 Amazon S3 按照 S3 生命週期規則刪除物件或將物件轉換到另一個 Amazon S3 儲存類別時收到通知,您可以設定 Amazon S3 事件通知。

您可以接收下列 S3 生命週期事件的通知:

  • 轉換事件 – 透過使用 s3:LifecycleTransition 事件類型,當物件由 S3 生命週期組態從一個 Amazon S3 儲存類別轉換至另一個 Amazon S3 儲存類別時,您可以收到通知。

  • 過期 (刪除) 事件 – 透過使用 LifecycleExpiration 事件類型,您可以在 Amazon S3 根據您的 S3 生命週期組態刪除物件時收到通知。

    過期事件類型一共有兩種:

    • 刪除未啟用版本控制之儲存貯體中的物件時,s3:LifecycleExpiration:Delete 事件類型會向您發出通知。當 S3 生命週期組態永久刪除物件版本時,s3:LifecycleExpiration:Delete 也會向您發出通知。

    • 在版本控制儲存貯體中物件的最新版本遭到刪除之後,且 S3 生命週期建立刪除標記時,s3:LifecycleExpiration:DeleteMarkerCreated 事件類型會通知您。S3 生命週期會將刪除標記的建立時間設定為當天的 00:00 UTC (午夜)。此建立時間可能與 S3 傳送的 s3:LifecycleExpiration:DeleteMarkerCreated 通知中的事件時間不同。如需更多詳細資訊,請參閱 刪除啟用版本控制功能之儲存貯體中的物件

Amazon S3 可以將事件通知發佈到 Amazon Simple Notification Service (Amazon SNS) 主題、Amazon Simple Queue Service (Amazon SQS) 佇列或 AWS Lambda 函數。如需更多詳細資訊,請參閱 Amazon S3 事件通知

如需如何設定 Amazon S3 事件通知的指示,請參閱使用 Amazon SQS、Amazon SNS 和 AWS 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 } }