本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 AWS IoT Events (AWS CLI) 中分析偵測器模型
以程式設計方式分析 AWS IoT Events 偵測器模型,可針對其結構、行為和效能提供寶貴的洞見。這種API以 為基礎的方法允許自動分析、與現有工作流程整合,以及跨多個偵測器模型執行大量操作的能力。透過利用 StartDetectorModelAnalysis API,您可以啟動模型的深入檢查、協助您識別潛在問題、最佳化邏輯流程,並確保您的 IoT 事件處理符合您的業務需求。
下列步驟使用 AWS CLI 來分析偵測器模型。
使用 分析偵測器模型 AWS CLI
-
執行下列命令以啟動分析。
aws iotevents start-detector-model-analysis --cli-input-json file://
file-name
.json注意
Replace (取代)
file-name
包含偵測器模型定義的檔案名稱。範例 偵測器模型定義
{ "detectorModelDefinition": { "states": [ { "stateName": "TemperatureCheck", "onInput": { "events": [ { "eventName": "Temperature Received", "condition": "isNull($input.TemperatureInput.sensorData.temperature)==false", "actions": [ { "iotTopicPublish": { "mqttTopic": "IoTEvents/Output" } } ] } ], "transitionEvents": [] }, "onEnter": { "events": [ { "eventName": "Init", "condition": "true", "actions": [ { "setVariable": { "variableName": "temperatureChecked", "value": "0" } } ] } ] }, "onExit": { "events": [] } } ], "initialStateName": "TemperatureCheck" } }
如果您使用 AWS CLI 來分析現有的偵測器模型,請選擇下列其中一項來擷取偵測器模型定義:
-
如果您想要使用 AWS IoT Events 主控台,請執行下列動作:
-
在導覽窗格中,選擇偵測器模型 。
-
在偵測器模型 下,選擇目標偵測器模型。
-
從動作中選擇匯出偵測器模型,以下載偵測器模型。偵測器模型會儲存在 中JSON。
-
開啟偵測器模型JSON檔案。
-
您只需要
detectorModelDefinition
物件。移除下列項目:-
頁面頂端的第一個捲曲括號 (
{
) -
detectorModel
該行 -
detectorModelConfiguration
物件 -
頁面底部的最後一個捲曲括號 (
}
)
-
-
儲存檔案。
-
-
如果您想要使用 AWS CLI,請執行下列動作:
-
在終端機執行下列命令。
aws iotevents describe-detector-model --detector-model-name
detector-model-name
-
Replace (取代)
detector-model-name
偵測器模型的名稱。 -
將
detectorModelDefinition
物件複製到文字編輯器。 -
在 之外新增 Curly 括號 (
{}
)detectorModelDefinition
。 -
在 中儲存檔案JSON。
-
範例 回應範例
{ "analysisId": "c1133390-14e3-4204-9a66-31efd92a4fed" }
-
-
從輸出複製分析 ID。
-
執行下列命令以擷取分析的狀態。
aws iotevents describe-detector-model-analysis --analysis-id "
analysis-id
"注意
Replace (取代)
analysis-id
您複製的分析 ID。範例 回應範例
{ "status": "COMPLETE" }
狀態可以是下列其中一個值:
-
RUNNING
– AWS IoT Events 正在分析偵測器模型。此程序最多可能需要一分鐘才能完成。 -
COMPLETE
– AWS IoT Events 完成偵測器模型的分析。 -
FAILED
– AWS IoT Events 無法分析偵測器模型。請稍後再試。
-
-
執行下列命令以擷取偵測器模型的一或多個分析結果。
注意
Replace (取代)
analysis-id
您複製的分析 ID。aws iotevents get-detector-model-analysis-results --analysis-id "
analysis-id
"範例 回應範例
{ "analysisResults": [ { "type": "data-type", "level": "INFO", "message": "Inferred data types [Integer] for $variable.temperatureChecked", "locations": [] }, { "type": "referenced-resource", "level": "ERROR", "message": "Detector Model Definition contains reference to Input 'TemperatureInput' that does not exist.", "locations": [ { "path": "states[0].onInput.events[0]" } ] } ] }
注意
AWS IoT Events 開始分析偵測器模型後,您有最多 24 小時的時間可以擷取分析結果。