Table Of Contents


User Guide

First time using the AWS CLI? See the User Guide for help getting started.

Note: You are viewing the documentation for an older major version of the AWS CLI (version 1).

AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. For more information see the AWS CLI version 2 installation instructions and migration guide.

[ aws . iotanalytics ]



Updates the settings of a data store.

See also: AWS API Documentation

See 'aws help' for descriptions of global parameters.


--datastore-name <value>
[--retention-period <value>]
[--datastore-storage <value>]
[--file-format-configuration <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]


--datastore-name (string)

The name of the data store to be updated.

--retention-period (structure)

How long, in days, message data is kept for the data store. The retention period cannot be updated if the data store's S3 storage is customer-managed.

unlimited -> (boolean)

If true, message data is kept indefinitely.

numberOfDays -> (integer)

The number of days that message data is kept. The unlimited parameter must be false.

Shorthand Syntax:


JSON Syntax:

  "unlimited": true|false,
  "numberOfDays": integer

--datastore-storage (structure)

Where data store data is stored. You can choose one of serviceManagedS3 or customerManagedS3 storage. If not specified, the default is``serviceManagedS3`` . You cannot change this storage option after the data store is created.

serviceManagedS3 -> (structure)

Use this to store data store data in an S3 bucket managed by AWS IoT Analytics. You cannot change the choice of service-managed or customer-managed S3 storage after the data store is created.

customerManagedS3 -> (structure)

Use this to store data store data in an S3 bucket that you manage. When customer managed storage is selected, the retentionPeriod parameter is ignored. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.

bucket -> (string)

The name of the S3 bucket in which data store data is stored.

keyPrefix -> (string)

Optional. The prefix used to create the keys of the data store data objects. Each object in an 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 (/).

roleArn -> (string)

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

Shorthand Syntax:


JSON Syntax:

  "serviceManagedS3": {

  "customerManagedS3": {
    "bucket": "string",
    "keyPrefix": "string",
    "roleArn": "string"

--file-format-configuration (structure)

Contains the configuration information of file formats. AWS IoT Analytics data stores support JSON and Parquet .

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.

jsonConfiguration -> (structure)

Contains the configuration information of the JSON format.

parquetConfiguration -> (structure)

Contains the configuration information of the Parquet format.

schemaDefinition -> (structure)

Information needed to define a schema.

columns -> (list)

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


Contains information about a column that stores your data.

name -> (string)

The name of the column.

type -> (string)

The type of data. For more information about the supported data types, see Common data types in the AWS Glue Developer Guide .

JSON Syntax:

  "jsonConfiguration": {

  "parquetConfiguration": {
    "schemaDefinition": {
      "columns": [
          "name": "string",
          "type": "string"

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See 'aws help' for descriptions of global parameters.


To update a data store

The following update-datastore example modifies the settings of the specified data store.

aws iotanalytics update-datastore \
    --cli-input-json file://update-datastore.json

Contents of update-datastore.json:

    "datastoreName": "mydatastore",
    "retentionPeriod": {
        "numberOfDays": 93

This command produces no output.

For more information, see UpdateDatastore in the AWS IoT Analytics API Reference.