S3 ライフサイクルイベント通知の設定
S3 ライフサイクルルールに従った結果、Amazon S3 がオブジェクトを削除したり、別の Amazon S3 ストレージクラスに移行したりした場合に通知を受け取るには、Amazon S3 イベント通知を設定することができます。
次の S3 ライフサイクルイベントの通知を受信できます。
-
移行イベント –
s3:LifecycleTransition
イベントタイプを使用すると、S3 ライフサイクル設定により、ある Amazon S3 ストレージクラスから別のストレージクラスにオブジェクトが移行された場合に通知を受け取ることができます。 -
有効期限切れ (削除) イベント –
LifecycleExpiration
イベントタイプを使用すると、Amazon S3 が S3 ライフサイクル設定に基づいてオブジェクトを削除する都度、通知を受け取ることができます。有効期限切れイベントには 2 つのタイプがあります。
-
s3:LifecycleExpiration:Delete
イベントタイプは、バージョン設定されていないバケット内のオブジェクトが削除されたときに通知します。s3:LifecycleExpiration:Delete
は、S3 ライフサイクル設定によってオブジェクトバージョンが完全に削除されたときにも通知します。 -
この
s3:LifecycleExpiration:DeleteMarkerCreated
は、バージョニングされているバケット内のオブジェクトの最新バージョンが削除され、S3 ライフサイクルが削除マーカーを作成した場合に通知します。詳細については、「バージョニングが有効なバケットからのオブジェクトバージョンの削除」を参照してください。
-
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", } } } ] }
s3:LifecycleTransition
イベントを公開するために Amazon S3 が送信するメッセージには、次の情報も含まれます。
"lifecycleEventData":{ "transitionEventData": { "destinationStorageClass":
the destination storage class for the object
} }