分析探测器模型 (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 小时的时间来检索分析结果。