[ aws . iotanalytics ]

create-channel

Description

Creates a channel. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-channel
--channel-name <value>
[--channel-storage <value>]
[--retention-period <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]

Options

--channel-name (string)

The name of the channel.

--channel-storage (structure)

Where channel data is stored. You may choose one of “serviceManagedS3” or “customerManagedS3” storage. If not specified, the default is “serviceManagedS3”. This cannot be changed after creation of the channel.

serviceManagedS3 -> (structure)

Use this to store channel 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 channel.

customerManagedS3 -> (structure)

Use this to store channel data in an S3 bucket that you manage. If 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 channel.

bucket -> (string)

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

keyPrefix -> (string)

[Optional] The prefix used to create the keys of the channel data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key). The prefix must end with a ‘/’.

roleArn -> (string)

The ARN of the role which 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 channel. 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 channel.

(structure)

A set of key/value pairs which 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"
  }
  ...
]

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

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a channel

The following create-channel example creates a channel with the specified configuration. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline.

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

Contents of create-channel.json:

{
    "channelName": "mychannel",
    "retentionPeriod": {
        "unlimited": true
    },
    "tags": [
        {
            "key": "Environment",
            "value": "Production"
        }
    ]
}

Output:

{
    "channelArn": "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel",
    "channelName": "mychannel",
    "retentionPeriod": {
        "unlimited": true
    }
}

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

Output

channelName -> (string)

The name of the channel.

channelArn -> (string)

The ARN of the channel.

retentionPeriod -> (structure)

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

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.