如何在 C# 中获取 IOT 集线器设备的最后 activity 时间
How to get the Last activity time of IOT hub device in c#
我在 ASP.NET MVC 中有一个应用程序用于列出 IOT 设备及其管理。现在我在列表中拥有所有孪生属性和设备属性。我需要设备的最后 activity 时间来获取活动的、最近活动的设备的详细信息。为此,我想我需要最后 activity 次。有什么方法可以收集最后 activity 时间。在物联网设备部分的 Azure 门户中显示 "last activity time"。
使用 REST API 查看 Service - Query IoT Hub。
你可以在负载请求中使用查询字符串,headers 用于分页等:
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 "
}
您可以使用 RegistryManager 访问 IotHub 设备孪生。从那里你可以创建你想要的查询并将结果转换为内置的双胞胎类型。这将允许您保持代码类型化并处理对象。
这是我编写的示例代码,其中列出了双胞胎(控制台应用程序)的 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 是一篇关于它的好文章。
我在 ASP.NET MVC 中有一个应用程序用于列出 IOT 设备及其管理。现在我在列表中拥有所有孪生属性和设备属性。我需要设备的最后 activity 时间来获取活动的、最近活动的设备的详细信息。为此,我想我需要最后 activity 次。有什么方法可以收集最后 activity 时间。在物联网设备部分的 Azure 门户中显示 "last activity time"。
使用 REST API 查看 Service - Query IoT Hub。
你可以在负载请求中使用查询字符串,headers 用于分页等:
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 "
}
您可以使用 RegistryManager 访问 IotHub 设备孪生。从那里你可以创建你想要的查询并将结果转换为内置的双胞胎类型。这将允许您保持代码类型化并处理对象。
这是我编写的示例代码,其中列出了双胞胎(控制台应用程序)的 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 是一篇关于它的好文章。