本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
傳送輸入,以在 中測試偵測器模型 AWS IoT Events
有幾種方式可在 中接收遙測資料 AWS IoT Events (請參閱 在 中接收資料和觸發動作的支援動作 AWS IoT Events)。本主題說明如何在 AWS IoT 主控台中建立將訊息作為輸入轉送至 AWS IoT Events 偵測器的 AWS IoT 規則。您可以使用 AWS IoT 主控台的MQTT用戶端來傳送測試訊息。您可以使用此方法,在裝置可以使用MQTT訊息 AWS IoT 代理程式傳送訊息 AWS IoT Events 時,將遙測資料傳送至 。
傳送輸入以測試偵測器模型
-
開啟 AWS IoT Core 主控台
。在左側導覽窗格的管理 下,選擇訊息路由 ,然後選擇規則 。 -
選擇右上角的建立規則。
-
在建立規則頁面上,完成下列步驟:
-
步驟 1. 指定規則屬性 。完成下列欄位:
-
規則名稱。輸入規則的名稱,例如
MyIoTEventsRule
。注意
請勿使用空格。
-
規則描述 。這是選用的。
-
選擇 Next (下一步)。
-
-
步驟 2. 設定SQL陳述式 。完成下列欄位:
-
SQL 版本 。從清單中選擇適當的選項。
-
SQL 陳述式 。輸入
SELECT *, topic(2) as motorid FROM 'motors/+/status'
。
選擇 Next (下一步)。
-
-
步驟 3. 連接規則動作 。在規則動作區段中,完成下列操作:
-
動作 1。選取 IoT 事件。出現下列欄位:
-
輸入名稱 。從清單中選擇適當的選項。如果您的輸入未顯示,請選擇重新整理 。
若要建立新的輸入,請選擇建立 IoT 事件輸入 。完成下列欄位:
-
輸入名稱 。輸入
PressureInput
。 -
描述。這是選用的。
-
上傳JSON檔案 。上傳JSON檔案的副本。如果您沒有檔案,此畫面上會有範例檔案的連結。程式碼包括:
{ "motorid": "Fulton-A32", "sensorData": { "pressure": 23, "temperature": 47 } }
-
選擇輸入屬性 。選取適當的 (多個) 選項。
-
Tags (標籤)。這是選用的。
選擇 Create (建立)。
返回建立規則畫面並重新整理輸入名稱欄位。選取您剛建立的輸入。
-
-
批次模式 。這是選用的。如果承載是訊息陣列,請選取此選項。
-
訊息 ID 。此為選用操作,但建議您採用。
-
IAM 角色 。從清單中選擇適當的角色。如果未列出角色,請選擇建立新角色 。
輸入角色名稱,然後選擇建立 。
若要新增其他規則,請選擇新增規則動作
-
-
錯誤動作 。此區段為選用。若要新增動作,請選擇新增錯誤動作,然後從清單中選擇適當的動作。
完成出現的欄位。
-
選擇 Next (下一步)。
-
-
步驟 4. 檢閱和建立。檢閱畫面上的資訊,然後選擇建立 。
-
-
在左側導覽窗格中的測試 下,選擇MQTT測試用戶端 。
-
請選擇 Publish to a topic (發佈至主題)。完成下列欄位:
-
主題名稱 。輸入名稱以識別訊息,例如
motors/Fulton-A32/status
。 -
訊息承載 。輸入下列資料:
{ "messageId": 100, "sensorData": { "pressure": 39 } }
注意
每次發佈新訊息
messageId
時變更 。
-
-
對於發佈 ,請保持主題相同,但將承載
"pressure"
中的 變更為大於您在偵測器模型中指定的閾值的值 (例如85
)。 -
選擇 Publish (發佈)。
您建立的偵測器執行個體會產生並傳送 Amazon SNS 訊息給您。繼續傳送壓力讀數高於或低於壓力閾值 (此範例為 70) 的訊息,以查看運作中的偵測器。
在此範例中,您必須傳送三則壓力讀數低於閾值的訊息,才能轉換回正常狀態,並收到 Amazon SNS 訊息,指出過壓條件已清除。回到正常狀態後,壓力讀數超過限制的訊息會導致偵測器進入危險狀態,並傳送指出該條件的 Amazon SNS 訊息。
現在您已建立簡單的輸入和偵測器模型,請嘗試下列操作。
-
在主控台上查看更多偵測器模型範例 (範本)。
-
請依照 中的步驟使用 建立兩個狀態的 AWS IoT Events 偵測器 CLI,使用 建立輸入和偵測器模型 AWS CLI
-
了解事件篩選、轉換和處理事件資料的表達式中使用的 詳細資訊。
-
如果某些項目無法運作,請參閱 疑難排 AWS IoT Events。