AWS::S3::Bucket AnalyticsConfiguration - AWS CloudFormation (original) (raw)
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:
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