本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IoT Analytics
AWS IoT Analytics (iotAnalytics
) 操作将MQTT消息中的数据发送到 AWS IoT Analytics 频道。
要求
此规则操作具有以下要求:
-
AWS IoT 可以IAM担任执行
iotanalytics:BatchPutMessage
操作的角色。有关更多信息,请参阅 授予 AWS IoT 规则所需的访问权限。在 AWS IoT 控制台中,您可以选择或创建 AWS IoT 允许执行此规则操作的角色。
附加到您指定角色的策略应如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotanalytics:BatchPutMessage", "Resource": [ "arn:aws:iotanalytics:us-west-2:
account-id
:channel/mychannel" ] } ] }
参数
使用此操作创建 AWS IoT 规则时,必须指定以下信息:
batchMode
-
(可选)是否批处理操作。默认值为
false
。当
batchMode
istrue
且规则SQL语句的计算结果为 Array 时,每个 Array 元素在传递BatchPutMessage
到 AWS IoT Analytics 通道时都将作为单独的消息传送。生成的数组,其消息不得超过 100 条。支持替换模板:否
channelName
-
要向其写入数据的 AWS IoT Analytics 通道的名称。
支持替换模板:API且 AWS CLI 仅支持
roleArn
-
允许访问 AWS IoT Analytics 频道的IAM角色。有关更多信息,请参阅 要求。
支持替换模板:否
示例
以下JSON示例定义了 AWS IoT 规则中的 AWS IoT Analytics 操作。
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotAnalytics": { "channelName": "mychannel", "roleArn": "arn:aws:iam::123456789012:role/analyticsRole", } } ] } }
另请参阅
-
什么是 AWS IoT Analytics? 在《AWS IoT Analytics 用户指南》中
-
该 AWS IoT Analytics 控制台还具有快速启动功能,可让您一键创建频道、数据存储、管道和数据存储。有关更多信息,请参阅 AWS IoT Analytics 用户指南中的 AWS IoT Analytics 控制台快速入门指南。