在 AWS IoT Events (AWS CLI) 中分析偵測器模型 - AWS IoT Events

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

在 AWS IoT Events (AWS CLI) 中分析偵測器模型

以程式設計方式分析 AWS IoT Events 偵測器模型,可針對其結構、行為和效能提供寶貴的洞見。這種API以 為基礎的方法允許自動分析、與現有工作流程整合,以及跨多個偵測器模型執行大量操作的能力。透過利用 StartDetectorModelAnalysis API,您可以啟動模型的深入檢查、協助您識別潛在問題、最佳化邏輯流程,並確保您的 IoT 事件處理符合您的業務需求。

下列步驟使用 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. 在 之外新增 Curly 括號 ({}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 小時的時間可以擷取分析結果。