首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性更新中的DeviceTwin问题

属性更新中的DeviceTwin问题
EN

Stack Overflow用户
提问于 2019-11-26 19:43:00
回答 1查看 341关注 0票数 2

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

我执行的代码如下:

代码语言:javascript
复制
            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);

我还尝试使用以下代码:

代码语言:javascript
复制
            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就不会更新。我做错了什么?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-27 07:03:04

所报告的设备双胞胎属性是面向服务端的只读。请参阅更多详细信息这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59058327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档