AWS IoT Events - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT Events

AWS IoT Events (iotEvents) 動作會將 MQTT 訊息中的資料傳送至輸入 AWS IoT Events 。

重要

如果將裝載傳送到 AWS IoT Core 沒有Input attribute Key,或者金鑰不在金鑰中指定的相同 JSON 路徑中,則會造成 IoT 規則失敗並顯示錯誤Failed to send message to Iot Events

要求

此規則動作具有下列需求:

  • AWS IoT 可假設執行iotevents:BatchPutMessage作業的 IAM 角色。如需詳細資訊,請參閱 授與 AWS IoT 規則所需的存取權

    在 AWS IoT 主控台中,您可以選擇或建立允許 AWS IoT 執行此規則動作的角色。

參數

使用此動作建立 AWS IoT 規則時,必須指定下列資訊:

batchMode

(選用) 是否將事件動作作為批次處理。預設值為 false

batchModetrue 且規則 SQL 陳述式評估為 Array 時,當每個 Array 元素在透過呼叫 BatchPutMessage 傳送至 AWS IoT 事件時,會將其視為單獨的訊息。產生的陣列不能含有超過 10 則訊息。

如果 batchModetrue,您無法指定 messageId

支援替代範本:否

inputName

AWS IoT Events 輸入的名稱。

支持替換模板:API 和 AWS CLI 僅

messageId

(可選)使用此選項可驗證 AWS IoT Events 檢測器僅處理具有給定messageId的一個輸入(消息)。您可使用 ${newuuid()} 替代範本,為每個請求產生一個唯一 ID。

batchModetrue 時,您無法指定 messageId:將會指派新的 UUID 值。

支援替代範本:是

roleArn

允許 AWS IoT 將輸入傳送至 AWS IoT Events 偵測器的 IAM 角色。如需詳細資訊,請參閱 要求

支援替代範本:否

範例

下面的 JSON 範例定義 AWS 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" } } ] } }

另請參閱