AWS::S3::Bucket AnalyticsConfiguration
Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Id" :
String
, "Prefix" :String
, "StorageClassAnalysis" :StorageClassAnalysis
, "TagFilters" :[ TagFilter, ... ]
}
YAML
Id:
String
Prefix:String
StorageClassAnalysis:StorageClassAnalysis
TagFilters:- TagFilter
Properties
Id
-
The ID that identifies the analytics configuration.
Required: Yes
Type: String
Update requires: No interruption
Prefix
-
The prefix that an object must have to be included in the analytics results.
Required: No
Type: String
Update requires: No interruption
StorageClassAnalysis
-
Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.
Required: Yes
Type: StorageClassAnalysis
Update requires: No interruption
TagFilters
-
The tags to use when evaluating an analytics filter.
The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.
Required: No
Type: Array of TagFilter
Update requires: No interruption
Examples
Specify analytics and inventory configurations for an S3 bucket
The following example specifies analytics and inventory results to be generated for an S3 bucket, including the format of the results and the destination bucket. The inventory list generates reports weekly and includes the current version of each object.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "S3 Bucket with Inventory and Analytics Configurations", "Resources": { "Helper": { "Type": "AWS::S3::Bucket" }, "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": { "AnalyticsConfigurations": [ { "Id": "AnalyticsConfigurationId", "StorageClassAnalysis": { "DataExport": { "Destination": { "BucketArn": { "Fn::GetAtt": [ "Helper", "Arn" ] }, "Format": "CSV", "Prefix": "AnalyticsDestinationPrefix" }, "OutputSchemaVersion": "V_1" } }, "Prefix": "AnalyticsConfigurationPrefix", "TagFilters": [ { "Key": "AnalyticsTagKey", "Value": "AnalyticsTagValue" } ] } ], "InventoryConfigurations": [ { "Id": "InventoryConfigurationId", "Destination": { "BucketArn": { "Fn::GetAtt": [ "Helper", "Arn" ] }, "Format": "CSV", "Prefix": "InventoryDestinationPrefix" }, "Enabled": true, "IncludedObjectVersions": "Current", "Prefix": "InventoryConfigurationPrefix", "ScheduleFrequency": "Weekly" } ] } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Description: S3 Bucket with Inventory and Analytics Configurations Resources: Helper: Type: 'AWS::S3::Bucket' S3Bucket: Type: 'AWS::S3::Bucket' Properties: AnalyticsConfigurations: - Id: AnalyticsConfigurationId StorageClassAnalysis: DataExport: Destination: BucketArn: !GetAtt - Helper - Arn Format: CSV Prefix: AnalyticsDestinationPrefix OutputSchemaVersion: V_1 Prefix: AnalyticsConfigurationPrefix TagFilters: - Key: AnalyticsTagKey Value: AnalyticsTagValue InventoryConfigurations: - Id: InventoryConfigurationId Destination: BucketArn: !GetAtt - Helper - Arn Format: CSV Prefix: InventoryDestinationPrefix Enabled: true IncludedObjectVersions: Current Prefix: InventoryConfigurationPrefix ScheduleFrequency: Weekly