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.
Requires permission to access the CreateStream action.
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 uses the following URI parameters.
- streamId
- 
               The stream ID. Length Constraints: Minimum length of 1. Maximum length of 128. Pattern: [a-zA-Z0-9_-]+Required: Yes 
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 to access your S3 files. Type: String Length Constraints: Minimum length of 20. Maximum length of 2048. Required: Yes 
- 
               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. - message
- 
                        The message for the exception. 
 HTTP Status Code: 500 
- InvalidRequestException
- 
               The request is not valid. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- LimitExceededException
- 
               A limit has been exceeded. - message
- 
                        The message for the exception. 
 HTTP Status Code: 410 
- ResourceAlreadyExistsException
- 
               The resource already exists. - message
- 
                        The message for the exception. 
- resourceArn
- 
                        The ARN of the resource that caused the exception. 
- resourceId
- 
                        The ID of the resource that caused the exception. 
 HTTP Status Code: 409 
- ResourceNotFoundException
- 
               The specified resource does not exist. - message
- 
                        The message for the exception. 
 HTTP Status Code: 404 
- ServiceUnavailableException
- 
               The service is temporarily unavailable. - message
- 
                        The message for the exception. 
 HTTP Status Code: 503 
- ThrottlingException
- 
               The rate exceeds the limit. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- UnauthorizedException
- 
               You are not authorized to perform this operation. - message
- 
                        The message for the exception. 
 HTTP Status Code: 401 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: