本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 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 Simple Notification Service (Amazon SNS)。
如果您是 Amazon 的新手SNS,請在開始本教學課程之前檢閱其入門練習。
-
教學課程:將裝置資料儲存在 DynamoDB 表格中
本教學課程會顯示如何從天氣感應器裝置存放資料庫表中的資料。其會使用規則查詢陳述式和替代範本來格式化目的地服務Amazon DynamoDB 的訊息資料。
若您初次使用 DynamoDB,請檢閱其入門練習,然後再開始本教學課程。
-
教學課程:使用 AWS Lambda 函數來格式化通知
本教學課程顯示如何呼叫 Lambda 函數來重新格式化裝置資料,然後以文字訊息進行傳送。它會在AWS Lambda函數中新增 Python 指令碼和 AWS SDK函數,以使用來自天氣感應器裝置的訊息承載資料進行格式化,並傳送文字訊息。
若您初次使用 Lambda,請檢閱其入門練習,然後再開始本教學課程。
AWS IoT 規則概觀
所有這些教學課程都會建立 AWS IoT 規則。
若要讓 AWS IoT 規則將資料從裝置傳送至另一項 AWS 服務,它會使用:
-
包含下列項目的規則查詢陳述式:
-
從訊息承載選取並格式化資料的SQLSELECT子句
-
主題篩選條件 (規則查詢陳述式中的FROM物件),可識別要使用的訊息
-
選擇性條件式陳述式 (SQLWHERE子句),指定要執行的特定條件
-
-
至少一個規則動作
裝置會將訊息發佈至MQTT主題。SQL SELECT 陳述式中的主題篩選條件會識別要套用規則MQTT的主題。以SQLSELECT陳述式格式指定的欄位,會格式化來自傳入MQTT訊息承載的資料,以供規則的動作使用。如需規則動作的完整清單,請參閱 AWS IoT 規則動作。