获取IoT边缘设备的现有子设备列表

时间:2019-05-01 10:21:53

标签: c# azure azure-iot-hub

我正在使用Azure IoT SDK的预览版本(v1.27.0-preview-003)。它支持在IoT边缘和IoT叶子设备之间建立父子关系。设备对象具有Scope属性。如果将边缘设备的Scope值分配给叶设备,则它将成为边缘设备的子级。 Here's的测试用例。

RegistryManager registryManager = RegistryManager.CreateFromConnectionString(ConnectionString);

var edgeDevice = new Device(Guid.NewGuid().ToString())
{
    Capabilities = new DeviceCapabilities
    {
        IotEdge = true
    }
};
edgeDevice = await registryManager.AddDeviceAsync(edgeDevice).ConfigureAwait(false);

var leafDevice = new Device(Guid.NewGuid().ToString())
{
    Scope = edgeDevice.Scope
};

Device receivedDevice = await registryManager.AddDeviceAsync(leafDevice).ConfigureAwait(false);

我想获取任何边缘设备的子设备,我该怎么做?我找不到任何方法来检索子设备的列表。实际上,我想修改边缘设备的子代列表。对于叶子设备,这很简单,只有一个父代,因此替换起来非常简单。

1 个答案:

答案 0 :(得分:0)

如果要以编程方式执行此操作,则必须在具有边缘设备的{{1}}的设备注册表上使用查询。

可以直接在az iot扩展中使用: https://docs.microsoft.com/en-us/cli/azure/ext/azure-cli-iot-ext/iot/hub/device-identity?view=azure-cli-latest#ext-azure-cli-iot-ext-az-iot-hub-device-identity-list-children