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.
create-stream
--stream-id <value>
[--description <value>]
--files <value>
--role-arn <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--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 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.
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.
streamId -> (string)
The stream ID.
streamArn -> (string)
The stream ARN.
description -> (string)
A description of the stream.
streamVersion -> (integer)
The version of the stream.