使用 CLI 为两种状态创建 Amazon IoT Events 检测器 - Amazon IoT Events
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 CLI 为两种状态创建 Amazon IoT Events 检测器

在此示例中,我们调用 usin Amazon IoT Events APIs g Amazon CLI 命令来创建一个探测器,该探测器对发动机的两种状态进行建模:正常状态和超压状态。

当引擎中测得的压力超过一定阈值时,模型会过渡至超压状态,并发送 Amazon Simple Notification Service(Amazon SNS)消息,提醒技术人员注意该情况。当压力降至连续三个压力读数的阈值以下时,模型将恢复至正常状态,并发送另一条 Amazon SNS 消息,以确认该状况已消除。我们需要获得低于压力阈值的三个连续读数,以消除在非线性恢复阶段或一次性异常恢复读数的情况下可能出现的过压/正常消息卡顿现象。

下文概述了探测器创建步骤。

创建输入

要监视您的设备和流程,它们必须具有将遥测数据导入 Amazon IoT Events的方法。这是通过向发送消息作为输入来完成的 Amazon IoT Events。有几种方式可以实现:

  • 使用该 BatchPutMessage操作。此方法很简单,但要求您的设备或进程能够 Amazon IoT Events 通过 SDK 或 Amazon CLI。

  • 在中 Amazon IoT Core,为将您的消息数据转发到 Amazon IoT Events的 Amazon IoT Core 规则引擎编写一条Amazon IoT Events 操作规则。按名称识别输入。如果您的设备或进程可以或已经通过发送消息,请使用此方法 Amazon IoT Core。这种方法通常对设备的计算能力要求不高。

  • 在中 Amazon IoT Analytics,使用 CreateDataset操作创建数据集contentDeliveryRules,该数据集用于指定 Amazon IoT Events 输入,数据集内容将在其中自动发送。如果您想根据在 Amazon IoT Analytics中汇总或分析的数据控制您的设备或进程,请使用此方法。

在您的设备以这种方式发送数据之前,您必须定义一个或多个输入。为此,请为每个输入赋予一个名称,并指定输入要监视传入消息数据中的哪些字段。

创建探测器模型

使用状态创建一个探测器模型(您的设备或进程的模型)。对于每种状态,请定义条件(布尔值)逻辑,该逻辑评估传入的输入以检测重要事件。当检测到事件时,它可以使用其他 Amazon 服务更改状态或启动自定义或预定义的操作。您可以定义其他事件,这些事件将在进入或退出某个状态以及满足某个条件(可选)时发起操作。

监视多个设备或进程

如果您正在监视多个设备或进程,并且想要单独追踪每个设备或进程,请在每个输入中指定一个字段,可用于识别输入来自的特定设备或进程。请参见CreateDetectorModel中的 key 字段。当识别出新设备时(在key识别的输入字段中看到一个新值),就会创建一个探测器实例。新的探测器实例会继续响应来自特定设备的输入,直至探测器模型更新或被删除。您的唯一探测器(实例)数量与输入key字段的唯一值相同。

监视单个设备或进程

如果您正在监视单个进程(即使多个设备或子进程正在发送输入),则无需指定唯一的标识 key 字段。在这种情况下,当第一次输入到达时,将创建单个探测器(实例)。例如,一个房屋的每个房间都安装有温度传感器,但是只有一台暖通空调用于为整个房子供暖和制冷。因此,即使每个房间的占用者都希望他们的投票(输入)占上风,您也只能将其作为单个进程进行控制。

将来自设备或进程的消息作为输入发送至探测器模型

我们描述了从设备或进程发送消息作为输入到 Amazon IoT Events 探测器的输入的几种方法。创建输入并构建探测器模型后,您就可以开始发送数据。

注意

创建探测器模型或更新现有探测器模型后,新的或更新的探测器模型需要几分钟才能开始接收消息和创建探测器(实例)。如果探测器模型已更新,则在此期间您可能会继续看到基于先前版本的行为。