我在ASP.NET MVC中有一个应用程序,用于列出IOT设备及其管理。现在,我在列表中具有所有孪生属性和设备属性。我需要设备的上次活动时间来获取活动的,最近活动的设备的详细信息。我想为此,我需要上一次活动时间。有什么方法可以收集上次活动时间。在IOT设备的Azure门户中,显示了“上次活动时间”。
答案 0 :(得分:3)
您可以使用RegistryManager访问IotHub设备双胞胎。在这里,您可以只创建所需的查询,然后将结果转换为内置的Twin Type。这将使您保持代码类型并处理对象。
这是我编写的示例代码,其中列出了双胞胎的“ LastActivityTime”(控制台应用程序):
private static RegistryManager registryManager;
private static string iotHubConnectionString = "<YOUR IOT HUB CONNECTION STRING";
static void Main(string[] args)
{
MainAsync();
Console.ReadLine();
}
static async void MainAsync()
{
registryManager = RegistryManager.CreateFromConnectionString(iotHubConnectionString);
var queryResult = registryManager.CreateQuery("SELECT * FROM devices");
while (queryResult.HasMoreResults)
{
var page = await queryResult.GetNextAsTwinAsync();
foreach (var twin in page)
{
Console.WriteLine("The last activity time of the device {0} is {1}", twin.DeviceId, twin.LastActivityTime);
}
}
}
您应该阅读有关孪生兄弟(IoT中心)和与其相关的内置属性的标准。 Here是一篇很好的文章。
答案 1 :(得分:0)
使用REST API来了解Service - Query IoT Hub。
您可以在有效负载请求中使用查询字符串,用于分页的标题等。
POST https://*****.azure-devices.net/devices/query?api-version=2018-06-30
Authorization: ---sasToken---
x-ms-max-item-count: 50
x-ms-continuation: ********
{
"query": "SELECT * FROM devices "
}