[ aws . iot ]

create-stream

Description

Creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream.

Requires permission to access the CreateStream action.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-stream
--stream-id <value>
[--description <value>]
--files <value>
--role-arn <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--stream-id (string)

The stream ID.

--description (string)

A description of the stream.

--files (list)

The files to stream.

(structure)

Represents a file to stream.

fileId -> (integer)

The file ID.

s3Location -> (structure)

The location of the file in S3.

bucket -> (string)

The S3 bucket.

key -> (string)

The S3 key.

version -> (string)

The S3 bucket version.

Shorthand Syntax:

fileId=integer,s3Location={bucket=string,key=string,version=string} ...

JSON Syntax:

[
  {
    "fileId": integer,
    "s3Location": {
      "bucket": "string",
      "key": "string",
      "version": "string"
    }
  }
  ...
]

--role-arn (string)

An IAM role that allows the IoT service principal assumes to access your S3 files.

--tags (list)

Metadata which can be used to manage streams.

(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"
  }
  ...
]

--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 stream for delivering one or more large files in chunks over MQTT

The following create-stream example creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream.

aws iot create-stream \
    --cli-input-json file://create-stream.json

Contents of create-stream.json:

{
    "streamId": "stream12345",
    "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.",
    "files": [
        {
            "fileId": 123,
            "s3Location": {
                "bucket":"codesign-ota-bucket",
                "key":"48c67f3c-63bb-4f92-a98a-4ee0fbc2bef6"
            }
        }
    ]
    "roleArn": "arn:aws:iam:123456789012:role/service-role/my_ota_stream_role"
}

Output:

{
     "streamId": "stream12345",
     "streamArn": "arn:aws:iot:us-west-2:123456789012:stream/stream12345",
     "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.",
     "streamVersion": "1"
}

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

Output

streamId -> (string)

The stream ID.

streamArn -> (string)

The stream ARN.

description -> (string)

A description of the stream.

streamVersion -> (integer)

The version of the stream.