GetTwinAsync returns 具有空属性的设备
GetTwinAsync returns a device with null properties
我正在尝试从注册表管理器中读取我的设备的双胞胎。这是我的代码:
DeviceClient client =
DeviceClient.CreateFromConnectionString(DeviceConnectionString,
TransportType.Mqtt);
Twin deviceTwin = await deviceClient.GetTwinAsync();
Console.WriteLine(deviceTwin.ToJson());
然而,Json 我得到的是以下内容。
{"deviceId":null,"etag":null,"version":null,"properties":{"desired":{"$version":1},"reported":{"$version":1}}}
我重现了你的问题。
对于这个问题,您可以在 azure-iot-sdk-csharp 存储库上打开一个问题。
对于解决方法,您可以像这样使用 REST API:
或者像这样使用 Azure IoT 服务 SDK:
using Microsoft.Azure.Devices;
...
var client = RegistryManager.CreateFromConnectionString(IoTHubConnectionString);
var twinData = await client.GetTwinAsync(deviceId);
Console.WriteLine(twinData.ToJson());
这不是问题 and/or 解决方法。 Documentation 状态:
Retrieve the device twin properties for the current device. For the complete device twin object, use Microsoft.Azure.Devices.RegistryManager.GetTwinAsync(string deviceId).
我正在尝试从注册表管理器中读取我的设备的双胞胎。这是我的代码:
DeviceClient client =
DeviceClient.CreateFromConnectionString(DeviceConnectionString,
TransportType.Mqtt);
Twin deviceTwin = await deviceClient.GetTwinAsync();
Console.WriteLine(deviceTwin.ToJson());
然而,Json 我得到的是以下内容。
{"deviceId":null,"etag":null,"version":null,"properties":{"desired":{"$version":1},"reported":{"$version":1}}}
我重现了你的问题。
对于这个问题,您可以在 azure-iot-sdk-csharp 存储库上打开一个问题。
对于解决方法,您可以像这样使用 REST API:
或者像这样使用 Azure IoT 服务 SDK:
using Microsoft.Azure.Devices;
...
var client = RegistryManager.CreateFromConnectionString(IoTHubConnectionString);
var twinData = await client.GetTwinAsync(deviceId);
Console.WriteLine(twinData.ToJson());
这不是问题 and/or 解决方法。 Documentation 状态:
Retrieve the device twin properties for the current device. For the complete device twin object, use Microsoft.Azure.Devices.RegistryManager.GetTwinAsync(string deviceId).