从云网关获取物联网数据的方法

Approaches on ingesting IoT data from cloud gateway

我想听听您对 IoT 数据摄取案例的见解。在 AWS IoT 中心,事物影子是物理事物的虚拟表示。我从下图中了解到,每当事物通过消息代理向平台发送数据时,事物影子和规则引擎部分会同时获取相同的传感器数据并进行处理。

我的结论正确吗?

以下是我对您的结论的评论。

What i understood from the figure below is whenever a thing sends a data to platform via a message broker, thing shadows and rule engine portions get the same sensor data concurrently and process it.

thing shadow 中的更改可以触发在规则引擎中注册的操作。有 specific topics 与您可以订阅规则引擎的事物影子关联,以便执行一个或多个操作作为响应。

Things shadow system is subscribed to message broker and gets sensor data, updates their shadow actors. Shadow side is also responsible for storing sensor data such an event sourcing mechanism.

您可以使用 REST API, or dedicated MQTT topics 在特定的影子主题上发布来更新设备影子。正如您所说,影子本身并不构成事件溯源系统,而是与物理设备相关联的数据模型的表示。

然而,您可以创建一个规则来侦听一个或多个影子实例的变化,并以时间序列的方式将变化注册到例如 DynamoDB 中。然后,您将拥有一个事件溯源系统,允许您存储设备在任意时间段内发送的先前状态或更改。

The thing shadow system does not perform any rules, it is just for performing event sourcing and keeping last known state in virtual thing actors.

Thing shadow 将物理设备的所需状态和报告状态保存在云中。它不执行规则,但会在影子内发生事件时在 MQTT 主题上发出消息。然后规则引擎可以捕获这些消息以执行操作。

The same sensor data also is an inbound data to rules engine. Rules engine is just and ECA (event condition action) type system that handle streaming data and decides what it will do with them. This means every incoming data eventually will be processed in rules engine portion.

默认情况下,规则引擎不侦听 MQTT 主题,因此也不侦听设备发送到设备网关的数据。您必须在规则引擎中注册您想收听的主题及其相关操作。

除此之外,规则引擎允许您在 ANSI SQL 中描述您的规则,这意味着您可以指定数据的来源([=42= 中的 FROM ] 语句),JSON 有效负载中您有兴趣捕获的特定字段(SELECT),以及一个可选条件,指定应触发规则的条件(WHERE)。

侦听虚构主题 device/+/telemetry 并且有兴趣捕获接收到的有效负载中的所有字段的规则示例是:

SELECT * FROM device/+/telemetry

请注意 + 如何用作任何设备标识符的占位符。