公司动态

如何通过解锁 50 个 AWS IoT 事物类型属性来提高设备可发现性 官方博客 物联网

提升设备可发现性:解锁 50 个 AWS IoT 事物类型属性

关键要点

利用 AWS IoT 事物类型,您可以为设备附加更多属性,提升设备发现能力。AWS IoT Core 默认限制每个设备附加 3 个可搜索属性,通过使用设备类型,您可以新增 47 个不可搜索属性,从而总计拥有 50 个属性。通过 AWS IoT 设备管理的集群索引功能,您可以对不可搜索的设备属性进行查询。

引言

如果您使用或计划使用 AWS IoT Core 来管理一系列物联网 (IoT) 设备,同时希望根据设备的身份和能力搜索或发现特定设备或设备集合,使用 AWS IoT 事物类型的属性是一种推荐的简化设备发现的方式。

在 AWS IoT Core 中,“事物”是指物联网设备等实体的逻辑名称。在创建事物时,您可以附加可搜索的属性,以便在 AWS IoT 注册表中更容易地进行识别和搜索。

那么,为什么有人需要从 AWS IoT 注册表中搜索事物呢?以连接灯具为例,亮化即服务LaaS提供商或其客户通过自助服务门户需要了解其安装的灯具中,有多少属于特定的产品类型、型号、功率、亮度、颜色和生产批次。

AWS IoT Core 限制每个事物仅能附加 3 个可搜索属性,如果您需要根据其他属性来发现设备,这可能显得不足。在本文中,我们将展示如何通过结合使用 AWS IoT Core 的 事物类型 和 AWS IoT 设备管理 集群索引 来解决这一挑战。

使用集群索引功能,设备管理员可以组织、调查和解决设备集群中的问题。他们可以根据不同的设备属性组合包括状态、连接性和设备违规情况来查询设备组,并汇总设备记录上的统计信息。例如,您可以查询某一位置安装的某款型号的灯泡中有多少当前处于断开状态且正在运行旧版本固件。

先决条件

本文要求具有 设备配置 的基础知识以及 AWS IoT 设备管理的集群索引功能。

操作步骤

现在让我们看看如何为一个事物添加不可搜索的属性,以及如何使用集群索引来搜索,即使在使用不可搜索属性的情况下。

我们将创建一个事物 MyFirstThing,并为其附加可搜索属性。如下面的快照所示,您只能附加 3 个可搜索属性。

要为此事物附加更多属性,您可以将“事物类型”附加到该事物上。

“事物类型”允许您存储与所有与同一事物类型相关的事物共有的描述和配置信息。这简化了注册表中的事物管理。例如,您可以创建一个叫做 “LightBulb” 的事物类型,将灯泡的序列号、亮度、功率等属性与之关联,而不是为每个灯泡单独分配属性。此外,如果您将现有事物的事物类型更改为 “LightBulb”,它将继承该事物类型的属性,并且您可以为事物类型中定义的每个属性指定值。

虽然为事物指定事物类型是可选的,但其使用可以解锁 47 个附加的“不可搜索事物属性”。通过这种关联,您现在可以访问总计 50 个属性,如下快照所示。

针对本篇文章,我们已经创建了一个名为 “LightBulb” 的事物类型,并添加了可搜索的属性,如制造商、序列号和功率,并将其分配给 “MyFirstThing”。我们还附加了 3 个不可搜索属性颜色、固件类型、亮度,如下快照所示。

现在,让我们尝试使用 AWS CLI 执行“列出事物”命令进行搜索。我们可以看到,使用“可搜索”属性搜索时,该命令返回了匹配的事物 “LightBulb1”。

bashaws iot listthings attributename wattage attributevalue 40{ things [ { thingName LightBulb1 thingTypeName LightBulb thingArn arnawsiotapsouth1thing/LightBulb1 attributes { Color White FirmwareTypeVersion SmartLED10 Luminosity 100 manufacturer xyzcorp serialnumber 123 wattage 40 } version 5 } ]}

然而,使用“不可搜索”属性进行搜索时,该命令返回的结果为空,因为通过事物类型添加的属性被分类为不可搜索。

bashaws iot listthings attributename Color attributevalue White{ things []}

这就是 AWS IoT 设备管理的集群索引功能发挥作用的地方,它使您能够对不可搜索的事物属性进行查询。

利用 AWS IoT 设备管理的集群索引功能,您可以从以下来源索引、搜索和聚合您的设备数据:AWS IoT 注册表、AWS IoT 设备影子、AWS IoT 连接状态以及 AWS IoT 设备防护违规行为。

虽然集群索引功能的主要功能如上所述,但在本篇文章中,我们将专注于基于事物类型属性的索引和搜索。

现在,让我们启用集群索引如果已经启用,可以跳过此步骤,通过 AWS IoT 控制台来实现,也可以通过 CLI 启用。从左侧面板中选择 设置,然后向下滚动到 集群索引,并选择 管理索引,如下所示:

在管理集群索引屏幕上,切换开关以激活集群索引,然后选择屏幕底部的 更新 以保存设置。

之前屏幕上显示的其他复选框允许基于设备影子、连接状态和设备防护违规行为进行索引和搜索查询,这超出了本文的范围,因此在此未勾选。

启用集群索引后,从 AWS IoT 管理事物控制台选择 高级搜索,如下快照所示。

使用搜索框搜索不可搜索属性,例如,值为“白色”的“颜色”,您会看到具有匹配属性值的事物将会出现在屏幕底部的搜索结果中,如下所示。

如何通过解锁 50 个 AWS IoT 事物类型属性来提高设备可发现性 官方博客  物联网

您还可以使用 AWS CLI 执行类似的集群索引查询,以查找具有“颜色”属性值为“白色”的设备,其中具有匹配属性值的事物会被返回,如下所示。

bashaws iot searchindex querystring ‘attributescolor=White’{ things [ { thingName LightBulb1 thingId thingTypeName LightBulb attributes { Color White FirmwareTypeVersion SmartLED10 Luminosity 100 manufacturer xyzcorp serialnumber 123 wattage 40 } } ]}

需要注意的是,AWS IoT 设备管理的集群索引功能主要用于管理用途,允许管理员组织、调查和解决设备集群中的问题,仅应用于此类活动。

集群索引和搜索功能会根据执行的索引更新和搜索查询数量进行计费。有关详细信息,请参考 定价 页面,以及其限制和配额的详细说明 这里。

结论

在本文中,我们展示了如何利用 AWS IoT 事物类型和 AWS IoT 设备管理集群索引功能来提升设备的可发现性。事物类型使您能够将附加的不可搜索属性附加到事物上,尽管这些属性不可搜索,但您可以利用集群索引功能基于这些不可搜索属性进行搜索,从而方便地过滤和查找您的大量 IoT 设备。

如需获取更多 AWS IoT Core 学习资源,请访问 官网。

外网VNP加速

Ankush Sharma

Ankush Sharma 是 AWS 印度有限公司的解决方案架构师,驻扎在印度德里。他是企业新建设团队的一员,帮助客户迁移、设计和运营安全且可扩展的解决方案,利用 AWS 的广泛服务提供预期的业务成果。Ankush 在IT行业拥有超过 17 年的经验,工作之余喜欢与家人共度时光和阅读书籍。