IoT Analytics - Amazon IoT Core
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

IoT Analytics

The Amazon IoT Analytics (iotAnalytics) action sends data from an MQTT message to an Amazon IoT Analytics channel.

Requirements

This rule action has the following requirements:

  • An IAM role that Amazon IoT can assume to perform the iotanalytics:BatchPutMessage operation. For more information, see Granting an Amazon IoT rule the access it requires.

    In the Amazon IoT console, you can choose or create a role to allow Amazon IoT to perform this rule action.

    The policy attached to the role you specify should look like the following example.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotanalytics:BatchPutMessage", "Resource": [ "arn:aws:iotanalytics:us-west-2:account-id:channel/mychannel" ] } ] }

Parameters

When you create an Amazon IoT rule with this action, you must specify the following information:

batchMode

(Optional) Whether to process the action as a batch. The default value is false.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is delivered as a separate message when passed by BatchPutMessage to the Amazon IoT Analytics channel. The resulting array can't have more than 100 messages.

Supports substitution templates: No

channelName

The name of the Amazon IoT Analytics channel to which to write the data.

Supports substitution templates: API and Amazon CLI only

roleArn

The IAM role that allows access to the Amazon IoT Analytics channel. For more information, see Requirements.

Supports substitution templates: No

Examples

The following JSON example defines an Amazon IoT Analytics action in an Amazon IoT rule.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotAnalytics": { "channelName": "mychannel", "roleArn": "arn:aws:iam::123456789012:role/analyticsRole", } } ] } }

See also