如何通过 C# 代码检查 Azure IoT 中心门户中 IoT 设备的状态(启用或禁用)?

How do I check the status (enabled or disabled) of an IoT device in Azure IoT hub portal through C# code?

我正在编写一个 c# 代码,我需要在其中检查 IoT 设备是否已从 Azure 中心禁用。请帮助我使用 c# 代码片段,如果设备已启用和禁用,我如何在代码中检查它。目前我正在测试 10 台设备。请帮忙。

我参考了这个post(How to disable Enable connection to IoT Hub?),我想我们可以用下面的代码来测试它。

官方文档:

1. Device Class

2. DeviceStatus Enum

相关Post

1. How to disable Enable connection to IoT Hub?

    Dictionary<string,int> dic = new Dictionary<string, int>();
    // key-value    deviceid--status
    dic.Add("deviceid1",-1);
    ...
    dic.Add("deviceid10", -1);
    // init RegistryManager 
    var registryManager = RegistryManager.CreateFromConnectionString(iotHubConnectionString);
    Device device = null;
    foreach (var item in dic)
    {
        device= registryManager.GetDeviceAsync(item.Key);
        if (device != null)
        {
            dic[item.Key] = device.Status.DeviceStatus;
        }
        if (dic[item.Key] == -1)
        {
            Console.WriteLine("deviceid=" + item.Key + "  ,  device not found");
        }
        else {
            Console.WriteLine("deviceid=" + item.Key + "  ,  status=" + (dic[item.Key] == 1 ? "Disabled" : "Enabled"));
        }
    }