IoT Events - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

IoT Events

IoT Events (iotEvents) 操作可将触发规则的 MQTT 消息中的数据发送至 Amazon IoT Events 输入。

Requirements

此规则操作具有以下要求:

  • Amazon IoT 可以承担以执行 iotevents:BatchPutMessage 操作的 IAM 角色。有关更多信息,请参阅 授予 Amazon IoT 所需的访问权限

    在 Amazon IoT 控制台中,您可以选择或创建一个角色以允许 Amazon IoT 执行此规则操作。

Parameters

使用此操作创建 Amazon IoT 规则时,您必须指定以下信息:

batchMode

(可选)是否批处理事件操作。默认值为 false

如果 batchModetrue 且规则 SQL 语句的求值为一个 Array 时,通过调用 BatchPutMessage 将 Array 元素发送到 Amazon IoT Events 时,会将每个 Array 元素都视为单独的消息。生成的数组,其消息不得超过 10 条。

batchModetrue 时,不能指定 messageId

支持替换模板:否

inputName

Amazon IoT Events 输入的名称。

支持替换模板:仅限 API 和 Amazon CLI

messageId

(可选)使用它可确保 Amazon IoT Events 探测器只处理一个具有给定 messageId 的输入(消息)。您可以使用 ${newuuid()} 替代模板,以便为每个请求生成一个唯一的 ID。

batchModetrue 时,您无法指定 messageId -- 将分配一个新 UUID 值。

支持替换模板:是

roleArn

允许 Amazon IoT 将输入发送到 Amazon IoT Events 探测器的 IAM 角色。有关更多信息,请参阅 Requirements

支持替换模板:否

Examples

下面的 JSON 示例介绍了如何在 Amazon IoT 规则中定义 IoT Events 操作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotEvents": { "inputName": "MyIoTEventsInput", "messageId": "${newuuid()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_events" } } ] } }

另请参阅