本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 AWS IoT 規則以將裝置資料路由至其他服務
這些教學課程會示範如何使用一些較常見的 AWS IoT 規則動作來建立和測試規則。
AWS IoT 規則會將資料從您的裝置傳送至其他 AWS 服務。其會聆聽特定的 MQTT 訊息、格式化訊息承載中的資料,並將結果傳送至其他 AWS 服務。
即使目標是要建立使用 Lambda 函數或更複雜的規則,我們仍建議您依照此處顯示的順序進行嘗試。教學課程會依照基本到複雜的順序顯示。其會逐步提供新概念,協助您學習可用來建立沒有特定教學課程的規則動作概念。
注意
AWS IoT 規則可協助您將資料從 IoT 裝置傳送至其他 AWS 服務。不過,如要成功地達到這一點,您需具備要傳送資料的其他服務的相關工作知識。雖然這些教學課程提供了完成任務所需的資訊,但您可能會發現,在解決方案中使用這些服務之前,進一步了解將資料傳送至服務的相關資訊可能更有幫助。其他 AWS 服務的詳細說明不在這些教程的範圍內。
教學課程方案概觀
這些教學課程的方案為定期發佈其資料的天氣感應器裝置。在此虛構的系統中有很多這樣的感應器裝置。不過,本節中的教學課程會聚焦在單一裝置上,同時展現容納多個感應器的方法。
本節中的教學課程將說明如何使用 AWS IoT 規則來使用此虛構的天氣感測器裝置系統執行下列工作。
-
教學課程:重新發佈 MQTT 訊息
本教學課程將會顯示如何將氣象感應器所接收的 MQTT 訊息重新發佈為僅包含感應器 ID 和溫度值的訊息。其僅使用 AWS IoT Core 服務,並展示簡單的 SQL 查詢,及如何使用 MQTT 用戶端來測試您的規則。
-
教學課程:傳送 Amazon SNS 通知
本教學課程會顯示天氣感應器裝置的值超出特定值時,如何傳送 SNS 訊息。它建立在上一個教程中提到的概念,並添加如何使用另一個 AWS 服務,即 Amazon 簡單通知服務 (Amazon SNS)。
若您初次使用 Amazon SNS,請檢閱其入門練習,然後再開始本教學課程。
-
教學課程:將裝置資料儲存在 DynamoDB 表格中
本教學課程會顯示如何從天氣感應器裝置存放資料庫表中的資料。其會使用規則查詢陳述式和替代範本來格式化目的地服務Amazon DynamoDB 的訊息資料。
若您初次使用 DynamoDB,請檢閱其入門練習,然後再開始本教學課程。
-
教學課程:使用 AWS Lambda 函數來格式化通知
本教學課程顯示如何呼叫 Lambda 函數來重新格式化裝置資料,然後以文字訊息進行傳送。它在函數中添加了 Python 腳本和 AWS SDK AWS Lambda函數,以使用來自天氣傳感器設備的消息有效負載數據進行格式化並發送文本消息。
若您初次使用 Lambda,請檢閱其入門練習,然後再開始本教學課程。
AWS IoT 規則概觀
所有這些自學課程都會建立 AWS IoT 規則。
對於將數據從設備發送到另一個 AWS 服務的 AWS IoT 規則,它使用:
-
包含下列項目的規則查詢陳述式:
-
SQL SELECT 子句,用於選取並格式化訊息承載中的資料
-
主題篩選條件 (規則查詢陳述式中的 FROM 物件),用來識別要使用的訊息
-
選用性的條件陳述式 (SQL WHERE 子句),指定要採取行動的特定條件
-
-
至少一個規則動作
裝置會發佈訊息至 MQTT 主題。SQL SELECT 陳述式中的主題篩選條件會識別要套用規則的 MQTT 主題。SQL SELECT 陳述式中指定的欄位會格式化傳入 MQTT 訊息承載的資料,以供規則動作使用。如需規則動作的完整清單,請參閱 AWS IoT 規則動作。