本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
分析檢測器模型(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
物件複製到文字編輯器。 -
在之外加入大括號 (
{}
)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 小時的時間來擷取分析結果。