

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::IoTAnalytics::Datastore
<a name="aws-resource-iotanalytics-datastore"></a>

AWS::IoTAnalytics::Datastore resource is a repository for messages. For more information, see [ How to Use AWS IoT Analytics](https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html#aws-iot-analytics-how) in the *AWS IoT Analytics User Guide*. 

## Syntax
<a name="aws-resource-iotanalytics-datastore-syntax"></a>

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

### JSON
<a name="aws-resource-iotanalytics-datastore-syntax.json"></a>

```
{
  "Type" : "AWS::IoTAnalytics::Datastore",
  "Properties" : {
      "[DatastoreName](#cfn-iotanalytics-datastore-datastorename)" : String,
      "[DatastorePartitions](#cfn-iotanalytics-datastore-datastorepartitions)" : DatastorePartitions,
      "[DatastoreStorage](#cfn-iotanalytics-datastore-datastorestorage)" : DatastoreStorage,
      "[FileFormatConfiguration](#cfn-iotanalytics-datastore-fileformatconfiguration)" : FileFormatConfiguration,
      "[RetentionPeriod](#cfn-iotanalytics-datastore-retentionperiod)" : RetentionPeriod,
      "[Tags](#cfn-iotanalytics-datastore-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotanalytics-datastore-syntax.yaml"></a>

```
Type: AWS::IoTAnalytics::Datastore
Properties:
  [DatastoreName](#cfn-iotanalytics-datastore-datastorename): String
  [DatastorePartitions](#cfn-iotanalytics-datastore-datastorepartitions): 
    DatastorePartitions
  [DatastoreStorage](#cfn-iotanalytics-datastore-datastorestorage): 
    DatastoreStorage
  [FileFormatConfiguration](#cfn-iotanalytics-datastore-fileformatconfiguration): 
    FileFormatConfiguration
  [RetentionPeriod](#cfn-iotanalytics-datastore-retentionperiod): 
    RetentionPeriod
  [Tags](#cfn-iotanalytics-datastore-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotanalytics-datastore-properties"></a>

`DatastoreName`  <a name="cfn-iotanalytics-datastore-datastorename"></a>
The name of the data store.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_]+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatastorePartitions`  <a name="cfn-iotanalytics-datastore-datastorepartitions"></a>
Information about the partition dimensions in a data store.  
*Required*: No  
*Type*: [DatastorePartitions](aws-properties-iotanalytics-datastore-datastorepartitions.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatastoreStorage`  <a name="cfn-iotanalytics-datastore-datastorestorage"></a>
Where data store data is stored.  
*Required*: No  
*Type*: [DatastoreStorage](aws-properties-iotanalytics-datastore-datastorestorage.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileFormatConfiguration`  <a name="cfn-iotanalytics-datastore-fileformatconfiguration"></a>
Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and [Parquet](https://parquet.apache.org/).  
The default file format is JSON. You can specify only one format.  
You can't change the file format after you create the data store.  
*Required*: No  
*Type*: [FileFormatConfiguration](aws-properties-iotanalytics-datastore-fileformatconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RetentionPeriod`  <a name="cfn-iotanalytics-datastore-retentionperiod"></a>
How long, in days, message data is kept for the data store. When `customerManagedS3` storage is selected, this parameter is ignored.  
*Required*: No  
*Type*: [RetentionPeriod](aws-properties-iotanalytics-datastore-retentionperiod.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotanalytics-datastore-tags"></a>
Metadata which can be used to manage the data store.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotanalytics-datastore-tag.md)  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Examples
<a name="aws-resource-iotanalytics-datastore--examples"></a>



**Topics**
+ [Simple Datastore](#aws-resource-iotanalytics-datastore--examples--Simple_Datastore)
+ [Complex Datastore](#aws-resource-iotanalytics-datastore--examples--Complex_Datastore)

### Simple Datastore
<a name="aws-resource-iotanalytics-datastore--examples--Simple_Datastore"></a>

The following example creates a simple datastore.

#### JSON
<a name="aws-resource-iotanalytics-datastore--examples--Simple_Datastore--json"></a>

```
{
    "Description": "Create a simple Datastore",
    "Resources": {
        "Datastore": {
            "Type": "AWS::IoTAnalytics::Datastore",
            "Properties": {
                "DatastoreName": "SimpleDatastore"
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-iotanalytics-datastore--examples--Simple_Datastore--yaml"></a>

```
---
Description: "Create a simple Datastore"
Resources:
  Datastore:
    Type: "AWS::IoTAnalytics::Datastore"
    Properties:
      DatastoreName: "SimpleDatastore"
```

### Complex Datastore
<a name="aws-resource-iotanalytics-datastore--examples--Complex_Datastore"></a>

The following example creates a complex datastore.

#### JSON
<a name="aws-resource-iotanalytics-datastore--examples--Complex_Datastore--json"></a>

```
{
    "Description": "Create a complex Datastore",
    "Resources": {
        "Datastore": {
            "Type": "AWS::IoTAnalytics::Datastore",
            "Properties": {
                "DatastoreName": "ComplexDatastore",
                "RetentionPeriod": {
                    "Unlimited": false,
                    "NumberOfDays": 10
                },
                "Tags": [
                    {
                        "Key": "keyname1",
                        "Value": "value1"
                    },
                    {
                        "Key": "keyname2",
                        "Value": "value2"
                    }
                ]
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-iotanalytics-datastore--examples--Complex_Datastore--yaml"></a>

```
---
Description: "Create a complex Datastore"
Resources:
  Datastore:
    Type: "AWS::IoTAnalytics::Datastore"
    Properties:
      DatastoreName: "ComplexDatastore"
      RetentionPeriod:
        Unlimited: false
        NumberOfDays: 10
      Tags:
        -
          Key: "keyname1"
          Value: "value1"
        -
          Key: "keyname2"
          Value: "value2"
```

## See also
<a name="aws-resource-iotanalytics-datastore--seealso"></a>
+ [How to Use AWS IoT Analytics](https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html#aws-iot-analytics-how) in the *AWS IoT Analytics User Guide*
+ [CreateDatastore](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_CreateDatastore.html) in the *AWS IoT Analytics API Reference*

# AWS::IoTAnalytics::Datastore Column
<a name="aws-properties-iotanalytics-datastore-column"></a>

Contains information about a column that stores your data.

## Syntax
<a name="aws-properties-iotanalytics-datastore-column-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-column-syntax.json"></a>

```
{
  "[Name](#cfn-iotanalytics-datastore-column-name)" : String,
  "[Type](#cfn-iotanalytics-datastore-column-type)" : String
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-column-syntax.yaml"></a>

```
  [Name](#cfn-iotanalytics-datastore-column-name): String
  [Type](#cfn-iotanalytics-datastore-column-type): String
```

## Properties
<a name="aws-properties-iotanalytics-datastore-column-properties"></a>

`Name`  <a name="cfn-iotanalytics-datastore-column-name"></a>
The name of the column.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotanalytics-datastore-column-type"></a>
The type of data. For more information about the supported data types, see [Common data types](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html) in the *AWS Glue Developer Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore CustomerManagedS3
<a name="aws-properties-iotanalytics-datastore-customermanageds3"></a>

S3-customer-managed; When you choose customer-managed storage, the `retentionPeriod` parameter is ignored. You can't change the choice of Amazon S3 storage after your data store is created. 

## Syntax
<a name="aws-properties-iotanalytics-datastore-customermanageds3-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-customermanageds3-syntax.json"></a>

```
{
  "[Bucket](#cfn-iotanalytics-datastore-customermanageds3-bucket)" : String,
  "[KeyPrefix](#cfn-iotanalytics-datastore-customermanageds3-keyprefix)" : String,
  "[RoleArn](#cfn-iotanalytics-datastore-customermanageds3-rolearn)" : String
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-customermanageds3-syntax.yaml"></a>

```
  [Bucket](#cfn-iotanalytics-datastore-customermanageds3-bucket): String
  [KeyPrefix](#cfn-iotanalytics-datastore-customermanageds3-keyprefix): String
  [RoleArn](#cfn-iotanalytics-datastore-customermanageds3-rolearn): String
```

## Properties
<a name="aws-properties-iotanalytics-datastore-customermanageds3-properties"></a>

`Bucket`  <a name="cfn-iotanalytics-datastore-customermanageds3-bucket"></a>
The name of the Amazon S3 bucket where your data is stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9.\-_]*`  
*Minimum*: `3`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KeyPrefix`  <a name="cfn-iotanalytics-datastore-customermanageds3-keyprefix"></a>
(Optional) The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier in the bucket. Each object in a bucket has exactly one key. The prefix must end with a forward slash (/).  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9!_.*'()/{}:-]*/`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-iotanalytics-datastore-customermanageds3-rolearn"></a>
The ARN of the role that grants AWS IoT Analytics permission to interact with your Amazon S3 resources.  
*Required*: Yes  
*Type*: String  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore CustomerManagedS3Storage
<a name="aws-properties-iotanalytics-datastore-customermanageds3storage"></a>

Amazon S3-customer-managed; When you choose customer-managed storage, the `retentionPeriod` parameter is ignored. You can't change the choice of Amazon S3 storage after your data store is created.

## Syntax
<a name="aws-properties-iotanalytics-datastore-customermanageds3storage-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-customermanageds3storage-syntax.json"></a>

```
{
  "[Bucket](#cfn-iotanalytics-datastore-customermanageds3storage-bucket)" : String,
  "[KeyPrefix](#cfn-iotanalytics-datastore-customermanageds3storage-keyprefix)" : String
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-customermanageds3storage-syntax.yaml"></a>

```
  [Bucket](#cfn-iotanalytics-datastore-customermanageds3storage-bucket): String
  [KeyPrefix](#cfn-iotanalytics-datastore-customermanageds3storage-keyprefix): String
```

## Properties
<a name="aws-properties-iotanalytics-datastore-customermanageds3storage-properties"></a>

`Bucket`  <a name="cfn-iotanalytics-datastore-customermanageds3storage-bucket"></a>
The name of the Amazon S3 bucket where your data is stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9.\-_]*`  
*Minimum*: `3`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KeyPrefix`  <a name="cfn-iotanalytics-datastore-customermanageds3storage-keyprefix"></a>
(Optional) The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier in the bucket. Each object in a bucket has exactly one key. The prefix must end with a forward slash (/).   
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9!_.*'()/{}:-]*/`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore DatastorePartition
<a name="aws-properties-iotanalytics-datastore-datastorepartition"></a>

A single dimension to partition a data store. The dimension must be an `AttributePartition` or a `TimestampPartition`.

## Syntax
<a name="aws-properties-iotanalytics-datastore-datastorepartition-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-datastorepartition-syntax.json"></a>

```
{
  "[Partition](#cfn-iotanalytics-datastore-datastorepartition-partition)" : Partition,
  "[TimestampPartition](#cfn-iotanalytics-datastore-datastorepartition-timestamppartition)" : TimestampPartition
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-datastorepartition-syntax.yaml"></a>

```
  [Partition](#cfn-iotanalytics-datastore-datastorepartition-partition): 
    Partition
  [TimestampPartition](#cfn-iotanalytics-datastore-datastorepartition-timestamppartition): 
    TimestampPartition
```

## Properties
<a name="aws-properties-iotanalytics-datastore-datastorepartition-properties"></a>

`Partition`  <a name="cfn-iotanalytics-datastore-datastorepartition-partition"></a>
A partition dimension defined by an attribute.  
*Required*: No  
*Type*: [Partition](aws-properties-iotanalytics-datastore-partition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimestampPartition`  <a name="cfn-iotanalytics-datastore-datastorepartition-timestamppartition"></a>
A partition dimension defined by a timestamp attribute.  
*Required*: No  
*Type*: [TimestampPartition](aws-properties-iotanalytics-datastore-timestamppartition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore DatastorePartitions
<a name="aws-properties-iotanalytics-datastore-datastorepartitions"></a>

Information about the partition dimensions in a data store.

## Syntax
<a name="aws-properties-iotanalytics-datastore-datastorepartitions-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-datastorepartitions-syntax.json"></a>

```
{
  "[Partitions](#cfn-iotanalytics-datastore-datastorepartitions-partitions)" : [ DatastorePartition, ... ]
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-datastorepartitions-syntax.yaml"></a>

```
  [Partitions](#cfn-iotanalytics-datastore-datastorepartitions-partitions): 
    - DatastorePartition
```

## Properties
<a name="aws-properties-iotanalytics-datastore-datastorepartitions-properties"></a>

`Partitions`  <a name="cfn-iotanalytics-datastore-datastorepartitions-partitions"></a>
A list of partition dimensions in a data store.   
*Required*: No  
*Type*: Array of [DatastorePartition](aws-properties-iotanalytics-datastore-datastorepartition.md)  
*Minimum*: `0`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore DatastoreStorage
<a name="aws-properties-iotanalytics-datastore-datastorestorage"></a>

Where data store data is stored.

## Syntax
<a name="aws-properties-iotanalytics-datastore-datastorestorage-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-datastorestorage-syntax.json"></a>

```
{
  "[CustomerManagedS3](#cfn-iotanalytics-datastore-datastorestorage-customermanageds3)" : CustomerManagedS3,
  "[IotSiteWiseMultiLayerStorage](#cfn-iotanalytics-datastore-datastorestorage-iotsitewisemultilayerstorage)" : IotSiteWiseMultiLayerStorage,
  "[ServiceManagedS3](#cfn-iotanalytics-datastore-datastorestorage-servicemanageds3)" : Json
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-datastorestorage-syntax.yaml"></a>

```
  [CustomerManagedS3](#cfn-iotanalytics-datastore-datastorestorage-customermanageds3): 
    CustomerManagedS3
  [IotSiteWiseMultiLayerStorage](#cfn-iotanalytics-datastore-datastorestorage-iotsitewisemultilayerstorage): 
    IotSiteWiseMultiLayerStorage
  [ServiceManagedS3](#cfn-iotanalytics-datastore-datastorestorage-servicemanageds3): Json
```

## Properties
<a name="aws-properties-iotanalytics-datastore-datastorestorage-properties"></a>

`CustomerManagedS3`  <a name="cfn-iotanalytics-datastore-datastorestorage-customermanageds3"></a>
Use this to store data store data in an S3 bucket that you manage. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.  
*Required*: No  
*Type*: [CustomerManagedS3](aws-properties-iotanalytics-datastore-customermanageds3.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IotSiteWiseMultiLayerStorage`  <a name="cfn-iotanalytics-datastore-datastorestorage-iotsitewisemultilayerstorage"></a>
Use this to store data used by AWS IoT SiteWise in an Amazon S3 bucket that you manage. You can't change the choice of Amazon S3 storage after your data store is created.  
*Required*: No  
*Type*: [IotSiteWiseMultiLayerStorage](aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ServiceManagedS3`  <a name="cfn-iotanalytics-datastore-datastorestorage-servicemanageds3"></a>
Use this to store data store data in an S3 bucket managed by the AWS IoT Analytics service. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore FileFormatConfiguration
<a name="aws-properties-iotanalytics-datastore-fileformatconfiguration"></a>

Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and [Parquet](https://parquet.apache.org/).

The default file format is JSON. You can specify only one format.

You can't change the file format after you create the data store.

## Syntax
<a name="aws-properties-iotanalytics-datastore-fileformatconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-fileformatconfiguration-syntax.json"></a>

```
{
  "[JsonConfiguration](#cfn-iotanalytics-datastore-fileformatconfiguration-jsonconfiguration)" : Json,
  "[ParquetConfiguration](#cfn-iotanalytics-datastore-fileformatconfiguration-parquetconfiguration)" : ParquetConfiguration
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-fileformatconfiguration-syntax.yaml"></a>

```
  [JsonConfiguration](#cfn-iotanalytics-datastore-fileformatconfiguration-jsonconfiguration): 
    Json
  [ParquetConfiguration](#cfn-iotanalytics-datastore-fileformatconfiguration-parquetconfiguration): 
    ParquetConfiguration
```

## Properties
<a name="aws-properties-iotanalytics-datastore-fileformatconfiguration-properties"></a>

`JsonConfiguration`  <a name="cfn-iotanalytics-datastore-fileformatconfiguration-jsonconfiguration"></a>
Contains the configuration information of the JSON format.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParquetConfiguration`  <a name="cfn-iotanalytics-datastore-fileformatconfiguration-parquetconfiguration"></a>
Contains the configuration information of the Parquet format.  
*Required*: No  
*Type*: [ParquetConfiguration](aws-properties-iotanalytics-datastore-parquetconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore IotSiteWiseMultiLayerStorage
<a name="aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage"></a>

Stores data used by AWS IoT SiteWise in an Amazon S3 bucket that you manage. You can't change the choice of Amazon S3 storage after your data store is created. 

## Syntax
<a name="aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage-syntax.json"></a>

```
{
  "[CustomerManagedS3Storage](#cfn-iotanalytics-datastore-iotsitewisemultilayerstorage-customermanageds3storage)" : CustomerManagedS3Storage
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage-syntax.yaml"></a>

```
  [CustomerManagedS3Storage](#cfn-iotanalytics-datastore-iotsitewisemultilayerstorage-customermanageds3storage): 
    CustomerManagedS3Storage
```

## Properties
<a name="aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage-properties"></a>

`CustomerManagedS3Storage`  <a name="cfn-iotanalytics-datastore-iotsitewisemultilayerstorage-customermanageds3storage"></a>
Stores data used by AWS IoT SiteWise in an Amazon S3 bucket that you manage.  
*Required*: No  
*Type*: [CustomerManagedS3Storage](aws-properties-iotanalytics-datastore-customermanageds3storage.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore ParquetConfiguration
<a name="aws-properties-iotanalytics-datastore-parquetconfiguration"></a>

Contains the configuration information of the Parquet format.

## Syntax
<a name="aws-properties-iotanalytics-datastore-parquetconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-parquetconfiguration-syntax.json"></a>

```
{
  "[SchemaDefinition](#cfn-iotanalytics-datastore-parquetconfiguration-schemadefinition)" : SchemaDefinition
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-parquetconfiguration-syntax.yaml"></a>

```
  [SchemaDefinition](#cfn-iotanalytics-datastore-parquetconfiguration-schemadefinition): 
    SchemaDefinition
```

## Properties
<a name="aws-properties-iotanalytics-datastore-parquetconfiguration-properties"></a>

`SchemaDefinition`  <a name="cfn-iotanalytics-datastore-parquetconfiguration-schemadefinition"></a>
Information needed to define a schema.  
*Required*: No  
*Type*: [SchemaDefinition](aws-properties-iotanalytics-datastore-schemadefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore Partition
<a name="aws-properties-iotanalytics-datastore-partition"></a>

A single dimension to partition a data store. The dimension must be an `AttributePartition` or a `TimestampPartition`.

## Syntax
<a name="aws-properties-iotanalytics-datastore-partition-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-partition-syntax.json"></a>

```
{
  "[AttributeName](#cfn-iotanalytics-datastore-partition-attributename)" : String
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-partition-syntax.yaml"></a>

```
  [AttributeName](#cfn-iotanalytics-datastore-partition-attributename): String
```

## Properties
<a name="aws-properties-iotanalytics-datastore-partition-properties"></a>

`AttributeName`  <a name="cfn-iotanalytics-datastore-partition-attributename"></a>
The name of the attribute that defines a partition dimension.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_]+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore RetentionPeriod
<a name="aws-properties-iotanalytics-datastore-retentionperiod"></a>

How long, in days, message data is kept.

## Syntax
<a name="aws-properties-iotanalytics-datastore-retentionperiod-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-retentionperiod-syntax.json"></a>

```
{
  "[NumberOfDays](#cfn-iotanalytics-datastore-retentionperiod-numberofdays)" : Integer,
  "[Unlimited](#cfn-iotanalytics-datastore-retentionperiod-unlimited)" : Boolean
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-retentionperiod-syntax.yaml"></a>

```
  [NumberOfDays](#cfn-iotanalytics-datastore-retentionperiod-numberofdays): Integer
  [Unlimited](#cfn-iotanalytics-datastore-retentionperiod-unlimited): Boolean
```

## Properties
<a name="aws-properties-iotanalytics-datastore-retentionperiod-properties"></a>

`NumberOfDays`  <a name="cfn-iotanalytics-datastore-retentionperiod-numberofdays"></a>
The number of days that message data is kept. The `unlimited` parameter must be false.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Unlimited`  <a name="cfn-iotanalytics-datastore-retentionperiod-unlimited"></a>
If true, message data is kept indefinitely.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore SchemaDefinition
<a name="aws-properties-iotanalytics-datastore-schemadefinition"></a>

Information needed to define a schema.

## Syntax
<a name="aws-properties-iotanalytics-datastore-schemadefinition-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-schemadefinition-syntax.json"></a>

```
{
  "[Columns](#cfn-iotanalytics-datastore-schemadefinition-columns)" : [ Column, ... ]
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-schemadefinition-syntax.yaml"></a>

```
  [Columns](#cfn-iotanalytics-datastore-schemadefinition-columns): 
    - Column
```

## Properties
<a name="aws-properties-iotanalytics-datastore-schemadefinition-properties"></a>

`Columns`  <a name="cfn-iotanalytics-datastore-schemadefinition-columns"></a>
Specifies one or more columns that store your data.  
Each schema can have up to 100 columns. Each column can have up to 100 nested types.  
*Required*: No  
*Type*: Array of [Column](aws-properties-iotanalytics-datastore-column.md)  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore Tag
<a name="aws-properties-iotanalytics-datastore-tag"></a>

A set of key-value pairs that are used to manage the resource.

## Syntax
<a name="aws-properties-iotanalytics-datastore-tag-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotanalytics-datastore-tag-key)" : String,
  "[Value](#cfn-iotanalytics-datastore-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotanalytics-datastore-tag-key): String
  [Value](#cfn-iotanalytics-datastore-tag-value): String
```

## Properties
<a name="aws-properties-iotanalytics-datastore-tag-properties"></a>

`Key`  <a name="cfn-iotanalytics-datastore-tag-key"></a>
The tag's key.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotanalytics-datastore-tag-value"></a>
The tag's value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTAnalytics::Datastore TimestampPartition
<a name="aws-properties-iotanalytics-datastore-timestamppartition"></a>

A partition dimension defined by a timestamp attribute.

## Syntax
<a name="aws-properties-iotanalytics-datastore-timestamppartition-syntax"></a>

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

### JSON
<a name="aws-properties-iotanalytics-datastore-timestamppartition-syntax.json"></a>

```
{
  "[AttributeName](#cfn-iotanalytics-datastore-timestamppartition-attributename)" : String,
  "[TimestampFormat](#cfn-iotanalytics-datastore-timestamppartition-timestampformat)" : String
}
```

### YAML
<a name="aws-properties-iotanalytics-datastore-timestamppartition-syntax.yaml"></a>

```
  [AttributeName](#cfn-iotanalytics-datastore-timestamppartition-attributename): String
  [TimestampFormat](#cfn-iotanalytics-datastore-timestamppartition-timestampformat): String
```

## Properties
<a name="aws-properties-iotanalytics-datastore-timestamppartition-properties"></a>

`AttributeName`  <a name="cfn-iotanalytics-datastore-timestamppartition-attributename"></a>
The attribute name of the partition defined by a timestamp.   
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9_]+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimestampFormat`  <a name="cfn-iotanalytics-datastore-timestamppartition-timestampformat"></a>
The timestamp format of a partition defined by a timestamp. The default format is seconds since epoch (January 1, 1970 at midnight UTC time).  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9\s\[\]_,.'/:-]*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)