AWS IoT
API Reference

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

CreateStream

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. The total size of a file associated with the stream cannot exceed more than 2 MB. The stream will be created with version 0. If a stream is created with the same streamID as a stream that existed and was deleted within last 90 days, we will resurrect that old stream by incrementing the version by 1.

Request Syntax

POST /streams/streamId HTTP/1.1 Content-type: application/json { "description": "string", "files": [ { "fileId": number, "s3Location": { "bucket": "string", "key": "string", "version": "string" } } ], "roleArn": "string", "tags": [ { "Key": "string", "Value": "string" } ] }

URI Request Parameters

The request requires the following URI parameters.

streamId

The stream ID.

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_-]+

Request Body

The request accepts the following data in JSON format.

description

A description of the stream.

Type: String

Length Constraints: Maximum length of 2028.

Pattern: [^\p{C}]+

Required: No

files

The files to stream.

Type: Array of StreamFile objects

Array Members: Minimum number of 1 item. Maximum number of 50 items.

Required: Yes

roleArn

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

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Required: Yes

tags

Metadata which can be used to manage streams.

Type: Array of Tag objects

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "description": "string", "streamArn": "string", "streamId": "string", "streamVersion": number }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

description

A description of the stream.

Type: String

Length Constraints: Maximum length of 2028.

Pattern: [^\p{C}]+

streamArn

The stream ARN.

Type: String

streamId

The stream ID.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_-]+

streamVersion

The version of the stream.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 65535.

Errors

InternalFailureException

An unexpected error has occurred.

HTTP Status Code: 500

InvalidRequestException

The request is not valid.

HTTP Status Code: 400

LimitExceededException

A limit has been exceeded.

HTTP Status Code: 410

ResourceAlreadyExistsException

The resource already exists.

HTTP Status Code: 409

ResourceNotFoundException

The specified resource does not exist.

HTTP Status Code: 404

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

ThrottlingException

The rate exceeds the limit.

HTTP Status Code: 429

UnauthorizedException

You are not authorized to perform this operation.

HTTP Status Code: 401

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: