UpdateTwinAsync 失败
UpdateTwinAsync failing
我正在尝试更新边缘设备的模块孪生。我现在可以检索模块的设备孪生,但无法将更新后的所需属性保存回 IoT 中心。
var moduleTwin = await registryManager.GetTwinAsync("DeviceId", "ModuleId");
moduleTwin.Properties.Desired["key"] = "value";
var updatedTwin = await registryManager.UpdateTwinAsync("DeviceId", moduleTwin, moduleTwin.ETag)
运行时,出现以下异常
其中 "DeviceId" 是用红色遮住的值。
我尝试过使用设备的 ETag,但这只是更新了设备的双胞胎,我尝试使用 ModuleId 而不是 DeviceId,这引发了 DeviceNotFoundException。
如何在这里更新 ModuleTwin?
似乎registryManager.UpdateTwinAsync
只能更新设备孪生。所以当你使用 edge device twin Etag 而不是 moduleTwin.ETag
时,操作就会成功。您可以检查您的边缘设备,所需的 属性 更新是在设备孪生下而不是模块孪生下。
通过 Azure 门户更新模块孪生似乎也不起作用。
这里是 similar issue 关于 C# 的 Azure IOT SDK 上的这个你可以监控它的更新。
我正在尝试更新边缘设备的模块孪生。我现在可以检索模块的设备孪生,但无法将更新后的所需属性保存回 IoT 中心。
var moduleTwin = await registryManager.GetTwinAsync("DeviceId", "ModuleId");
moduleTwin.Properties.Desired["key"] = "value";
var updatedTwin = await registryManager.UpdateTwinAsync("DeviceId", moduleTwin, moduleTwin.ETag)
运行时,出现以下异常
其中 "DeviceId" 是用红色遮住的值。
我尝试过使用设备的 ETag,但这只是更新了设备的双胞胎,我尝试使用 ModuleId 而不是 DeviceId,这引发了 DeviceNotFoundException。
如何在这里更新 ModuleTwin?
似乎registryManager.UpdateTwinAsync
只能更新设备孪生。所以当你使用 edge device twin Etag 而不是 moduleTwin.ETag
时,操作就会成功。您可以检查您的边缘设备,所需的 属性 更新是在设备孪生下而不是模块孪生下。
通过 Azure 门户更新模块孪生似乎也不起作用。
这里是 similar issue 关于 C# 的 Azure IOT SDK 上的这个你可以监控它的更新。