I moved my Amazon Simple Storage Service (Amazon S3) objects to the S3 Intelligent-Tiering storage class, and I want to monitor access tiers.
Resolution
To monitor objects across all S3 Intelligent-Tiering access tiers, you can use Amazon S3 inventory, S3 Event Notifications, or the HeadObject API call.
Amazon S3 inventory
Amazon S3 Inventory provides a list of your objects and their metadata on a daily or weekly basis. You can view the access tiers of your S3 Intelligent-Tiering objects. For more information, see Configuring Amazon S3 Inventory.
You can also use Amazon Athena to query Amazon S3 Inventory files. For more information, see How can I use Athena to query my Amazon S3 Inventory reports?
Note: If you configured an S3 Inventory report and received an Access Denied error, then see Why can't I generate an Amazon S3 Inventory report?
S3 Event Notifications
Use Amazon S3 Event Notifications to receive notifications when S3 objects move or change across tiers. You can create event notifications to send messages through an Amazon Simple Notification Service (Amazon SNS) topic. When you configure an event notification, you must specify each event type that causes Amazon S3 to send the notification. For example, you can specify the s3:IntelligentTiering event type to receive notifications when an object with the S3 Intelligent-Tiering storage class moves to another tier.
Note: If the notifications in your bucket didn't publish messages to the topic, then see Why didn't my Amazon SNS topic receive Amazon S3 event notifications?
You can also configure an event notification to invoke an AWS Lambda function when S3 objects move or change. For more information, see Process Amazon S3 event notifications with Lambda.
Note: If your Lambda function doesn't invoke when the event occurs, then additional configuration might be required. For more information, see How do I troubleshoot issues when my Amazon S3 Event Notifications don't invoke my Lambda function?
HeadObject API call
Run the HeadObject API call to retrieve object metadata for the archive status in the S3 Intelligent-Tiering storage class. HeadObject returns either the ARCHIVE_ACCESS or DEEP_ARCHIVE_ACCESS status of an object. In a response to a HeadObject API call, you can find the archive status in the x-amz-archive-status element.
Note: To run the HeadObject API call, you must have read access to the object that you requested. For more information, see AWS Identity and Access Management (IAM) for Amazon S3.
Related information
Why didn't my Amazon S3 lifecycle rule transition objects into the Intelligent-Tiering storage class?
How do I move Amazon S3 objects to the Intelligent-Tiering storage class?
Storage class for automatically optimizing data with changing or unknown access patterns