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 元素在傳送到 AWS IoT Events 時都會被視為個別訊息,方法是呼叫 BatchPutMessage。產生的陣列不能含有超過 10 則訊息。

如果 batchModetrue,您無法指定 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" } } ] } }

另請參閱