azure - Azure IoT Hub 设备孪生 - 如何在查询中不获取元数据
问题描述
我正在.NET Core 3.0 中开发 Azure IoT Web 应用程序,并使用 Microsoft.Azure.Devices.RegistryManager 来获取设备孪生。但是,我总是会收到与它一起发送的元数据。它占据了设备双胞胎一半以上的大小,我不需要它。当获得一堆设备孪生时,这意味着大量的流量,我想减少它。
我可以在不获取元数据的情况下获取设备孪生吗?
任何人?
任何人?
解决方案
您可以使用投影查询,因为 IoT 中心提供了一种类似 SQL 的语言来检索有关设备孪生的信息。
例子:
var query = registryManager.CreateQuery("SELECT LastActivityTime FROM devices WHERE status = 'enabled'");
while (query.HasMoreResults)
{
var page = await query.GetNextAsTwinAsync();
foreach (var twin in page)
{
// do work on twin object
}
}
此处的更多信息:用于设备和模块孪生、作业和消息路由的 IoT 中心查询语言