本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 元素在傳送到 AWS IoT Events 時都會被視為個別訊息,方法是呼叫BatchPutMessage
。產生的陣列不能含有超過 10 則訊息。如果
batchMode
是true
,您無法指定messageId
。支援替代範本:否
inputName
-
AWS IoT Events 輸入的名稱。
AWS CLI 僅支援替代範本: API和
messageId
-
(選用) 使用此選項來驗證 AWS IoT Events 偵測器只會
messageId
處理具有指定 的輸入 (訊息)。您可使用${newuuid()}
替代範本,為每個請求產生一個唯一 ID。當
batchMode
為 時true
,您無法指定messageId
--將指派新UUID值。支援替代範本:是
roleArn
-
允許 AWS IoT 將輸入 AWS IoT Events 傳送至偵測器IAM的角色。如需詳細資訊,請參閱要求。
支援替代範本:否
範例
下列JSON範例定義 規則中的 IoT Events AWS IoT 動作。
{ "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?