AWS::IoTAnalytics::Dataset S3DestinationConfiguration - AWS CloudFormation

AWS::IoTAnalytics::Dataset S3DestinationConfiguration

Configuration information for delivery of dataset contents to Amazon Simple Storage Service (Amazon S3).


To declare this entity in your AWS CloudFormation template, use the following syntax:


{ "Bucket" : String, "GlueConfiguration" : GlueConfiguration, "Key" : String, "RoleArn" : String }


Bucket: String GlueConfiguration: GlueConfiguration Key: String RoleArn: String



The name of the S3 bucket to which dataset contents are delivered.

Required: Yes

Type: String

Minimum: 3

Maximum: 255

Pattern: ^[a-zA-Z0-9.\-_]*$

Update requires: No interruption


Configuration information for coordination with AWS Glue, a fully managed extract, transform and load (ETL) service.

Required: No

Type: GlueConfiguration

Update requires: No interruption


The key of the dataset contents object in an S3 bucket. Each object has a key that is a unique identifier. Each object has exactly one key.

You can create a unique key with the following options:

  • Use !{iotanalytics:scheduleTime} to insert the time of a scheduled SQL query run.

  • Use !{iotanalytics:versionId} to insert a unique hash that identifies a dataset content.

  • Use !{iotanalytics:creationTime} to insert the creation time of a dataset content.

The following example creates a unique key for a CSV file: dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv


If you don't use !{iotanalytics:versionId} to specify the key, you might get duplicate keys. For example, you might have two dataset contents with the same scheduleTime but different versionIds. This means that one dataset content overwrites the other.

Required: Yes

Type: String

Minimum: 1

Maximum: 255

Pattern: ^[a-zA-Z0-9!_.*'()/{}:-]*$

Update requires: No interruption


The ARN of the role that grants AWS IoT Analytics permission to interact with your Amazon S3 and AWS Glue resources.

Required: Yes

Type: String

Minimum: 20

Maximum: 2048

Update requires: No interruption