gpt4 book ai didi

c# - DeviceTwin 更新属性时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:16 26 4
gpt4 key购买 nike

我在 C# 中使用 DeviceTwin 更新属性属性时遇到问题。

我执行的代码如下:

            var registryManager = RegistryManager.CreateFromConnectionString(AppSettings.KeyIoT);
var twin = await registryManager.GetTwinAsync(dto.DeviceIdorId);

TwinCollection s = twin.Properties.Reported["Power"];

Power toRet = JsonConvert.DeserializeObject<Power>(s.ToJson());
toRet.MaximumAvailable = 50;

var patch =
@"{
properties: {
reported:{
Power:" + JsonConvert.SerializeObject(toRet) +
@"}
}
}";

await registryManager.UpdateTwinAsync(twin.DeviceId, patch, twin.ETag);

我还尝试了以下代码:

            var registryManager = RegistryManager.CreateFromConnectionString(AppSettings.KeyIoT);
var twin = await registryManager.GetTwinAsync(dto.DeviceIdorId);

TwinCollection s = twin.Properties.Reported["Power"];

Power toRet = JsonConvert.DeserializeObject<Power>(s.ToJson());
toRet.MaximumAvailable = 50;

twin.Properties.Reported["Power"] = JsonConvert.SerializeObject(toRet);

Twin updatedTwin = await registryManager.UpdateTwinAsync(twin.DeviceId, twin, twin.ETag);

问题是更新后,如果我重新读取,属性 MaximumAvailable 不会更新。我究竟做错了什么?谢谢。

最佳答案

设备孪生报告的属性在面向服务的一侧是只读。查看更多详情here

关于c# - DeviceTwin 更新属性时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59058327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com