我创建了一个IotHub,添加了一个设备,创建了一个UWP应用程序,它使用DeviceClient成功连接到集线器。 我可以按预期发送遥测,并在设备资源管理器中查看结果。
但是,当我尝试获取双胞胎设备时,我已经返回了空值。
var deviceClient = DeviceClient.CreateFromConnectionString(deviceConnectionString, TransportType.Amqp);
var twin = await deviceClient.GetTwinAsync(); // <<<< returns null
是否有可能导致此问题的常见情况?比如创建IoTHub&amp;在Twin发布之前的设备。或者,没有预先设置任何所需的属性?或者,使用错误的共享访问密钥? (等)
-John
答案 0 :(得分:1)
解决方案:Twin功能需要MQTT协议,我使用的是AMQP。 我确定有人提到这个埋藏在某个地方,但经过几个小时的旋转之后,我可以肯定地说这不是很明显。
更实际的说明:如果在无法支持Twin的连接上调用异常,则在GetTwinAsync()方法中抛出异常可能会有所帮助。
希望这篇文章能帮助下一个人。
-John