BatchPutMessage - AWS IoT Analytics

BatchPutMessage

Sends messages to a channel.

Request Syntax

POST /messages/batch HTTP/1.1 Content-type: application/json { "channelName": "string", "messages": [ { "messageId": "string", "payload": blob } ] }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

channelName

The name of the channel where the messages are sent.

Type: String

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

Pattern: (^(?!_{2}))(^[a-zA-Z0-9_]+$)

Required: Yes

messages

The list of messages to be sent. Each message has the format: { "messageId": "string", "payload": "string"}.

The field names of message payloads (data) that you send to AWS IoT Analytics:

  • Must contain only alphanumeric characters and undescores (_). No other special characters are allowed.

  • Must begin with an alphabetic character or single underscore (_).

  • Cannot contain hyphens (-).

  • In regular expression terms: "^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$".

  • Cannot be more than 255 characters.

  • Are case insensitive. (Fields named foo and FOO in the same payload are considered duplicates.)

For example, {"temp_01": 29} or {"_temp_01": 29} are valid, but {"temp-01": 29}, {"01_temp": 29} or {"__temp_01": 29} are invalid in message payloads.

Type: Array of Message objects

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "batchPutMessageErrorEntries": [ { "errorCode": "string", "errorMessage": "string", "messageId": "string" } ] }

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.

batchPutMessageErrorEntries

A list of any errors encountered when sending the messages to the channel.

Type: Array of BatchPutMessageErrorEntry objects

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalFailureException

There was an internal failure.

HTTP Status Code: 500

InvalidRequestException

The request was not valid.

HTTP Status Code: 400

ResourceNotFoundException

A resource with the specified name could not be found.

HTTP Status Code: 404

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 400

See Also

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