分析檢測器模型(AWS CLI) - AWS IoT Events

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

分析檢測器模型(AWS CLI)

下列步驟使用 AWS CLI 來分析偵測器模型。

  1. 執行下列指令以開始分析。

    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 控制台,請執行以下操作:

      1. 在導覽窗格中,選擇 [偵測器型號]。

      2. 偵測器型號下,選擇目標偵測器型號。

      3. 從中選擇導出檢測器模型行動下載檢測器模型。檢測器模型被保存在中JSON。

      4. 開啟偵測器模型JSON檔案。

      5. 你只需要對detectorModelDefinition象。移除下列項目:

        • 頁面頂端的第一個大括號 ({)

        • detectorModel

        • detectorModelConfiguration 物件

        • 頁面底部的最後一個大括號 (})

      6. 儲存檔案。

    • 如果您要使用 AWS CLI,請執行下列動作:

      1. 在終端機執行下列命令。

        aws iotevents describe-detector-model --detector-model-name detector-model-name
      2. Replace (取代) detector-model-name 與您的檢測器模型的名稱。

      3. detectorModelDefinition物件複製到文字編輯器。

      4. 在之外加入大括號 ({}) detectorModelDefinition

      5. 將檔案儲存於中JSON。

    範例 回應範例
    { "analysisId": "c1133390-14e3-4204-9a66-31efd92a4fed" }
  2. 從輸出複製分析 ID。

  3. 執行下列命令以擷取分析狀態。

    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 無法分析您的檢測器模型。請稍後再試。

  4. 執行下列指令以擷取偵測器模型的一或多個分析結果。

    注意

    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 小時的時間來擷取分析結果。