[ aws . iotanalytics ]

create-datastore

Description

Creates a data store, which is a repository for messages.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

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

Options

--datastore-name (string)

The name of the data store.

--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:

serviceManagedS3={},customerManagedS3={bucket=string,keyPrefix=string,roleArn=string}

JSON Syntax:

{
  "serviceManagedS3": {

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

--retention-period (structure)

How long, in days, message data is kept for the data store. When customerManagedS3 storage is selected, this parameter is ignored.

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:

unlimited=boolean,numberOfDays=integer

JSON Syntax:

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

--tags (list)

Metadata which can be used to manage the data store.

(structure)

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

key -> (string)

The tag’s key.

value -> (string)

The tag’s value.

Shorthand Syntax:

key=string,value=string ...

JSON Syntax:

[
  {
    "key": "string",
    "value": "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

(structure)

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 | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those 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. This may not be specified along with --cli-input-yaml.

--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. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. 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.

Examples

To create a data store

The following create-datastore example creates a data store, which is a repository for messages.

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

Contents of create-datastore.json:

{
    "datastoreName": "mydatastore",
    "retentionPeriod": {
        "numberOfDays": 90
    },
    "tags": [
        {
            "key": "Environment",
            "value": "Production"
        }
    ]
}

Output:

{
    "datastoreName": "mydatastore",
    "datastoreArn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/mydatastore",
    "retentionPeriod": {
        "numberOfDays": 90,
        "unlimited": false
    }
}

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

Output

datastoreName -> (string)

The name of the data store.

datastoreArn -> (string)

The ARN of the data store.

retentionPeriod -> (structure)

How long, in days, message data is kept for the data store.

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.