本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
。若
batchMode
為true
且規則 SQL 陳述式評估為 Array 時,當每個 Array 元素在透過呼叫BatchPutMessage
傳送至 AWS IoT 事件時,會將其視為單獨的訊息。產生的陣列不能含有超過 10 則訊息。如果
batchMode
是true
,您無法指定messageId
。支援替代範本:否
inputName
-
AWS IoT Events 輸入的名稱。
支持替換模板:API 和 AWS CLI 僅
messageId
-
(可選)使用此選項可驗證 AWS IoT Events 檢測器僅處理具有給定
messageId
的一個輸入(消息)。您可使用${newuuid()}
替代範本,為每個請求產生一個唯一 ID。當
batchMode
為true
時,您無法指定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" } } ] } }
另請參閱
-
什麼是 AWS IoT Events? 在AWS IoT Events 開發人員指南