# UpdateDeviceShadow

调用该接口修改指定设备的影子信息。

# 请求参数

参数名称 类型 是否必选 示例值 描述
Action String UpdateDeviceShadow 系统规定参数。取值:UpdateDeviceShadow。
IotInstanceId String 6912917943269**** 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。
ProductKey String aldfeSe**** 要修改影子信息的设备所属产品的ProductKey。
DeviceName String device1 要修改影子信息的设备名称。
ShadowMessage String {"method":"update","state":{"desired":{"color":"green"}},"version":2} 修改后的设备影子信息。
影子信息参数中包含:
- method:String,指定操作类型,取值:update。
- state:String,发送给影子的具体状态,由desired参数表示期望的影子状态。
- version:Long,设备影子的版本。
 若无需版本控制,该值设置为0。
 若需要版本控制,该值必须大于当前影子版本。
重要
需要版本控制时,不能直接从物联网平台查询当前影子版本。因为更新和查询操作并发量高时,可能导致多个更新操作查询到同一个影子版本。基于此情况,最后一次发起的更新操作可能先完成,进而导致最终更新的影子信息不是最新的影子信息。所以,建议您本地维护影子版本,调用本接口时,从本地应用获取最新影子版本。
DeltaUpdate Boolean false 是否增量更新设备影子desired参数。
true:增量更新。
false(默认):全量更新。

# 返回数据

名称 类型 示例值 描述
Code String iot.messagebroker.NotFoundMethodInShadowMessage 调用失败时,返回的错误码。
ErrorMessage String No methods are defined for the device shadow. 调用失败时,返回的出错信息。
RequestId String a78f4267e8114646880d4edd4849c6f0 为该请求生成的唯一标识符。
Success Boolean true 是否调用成功。
true:调用成功。
false:调用失败。

# 示例

请求示例

http://open.${区域}.fenydata.com/fenydata-java-open/?Action=UpdateDeviceShadow
&ProductKey=aldfeSe****
&DeviceName=device1
&IotInstanceId=6912917943269****
&ShadowMessage={"method":"update","state":{"desired":{"color":"green"}},"version":1}
&<公共请求参数>

正常返回示例

XML格式

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xml>
  <RequestId>a78f4267e8114646880d4edd4849c6f0</RequestId>
  <Success>true</Success>
</xml>

JSON格式

{
  "RequestId": "a78f4267e8114646880d4edd4849c6f0",
  "Success": true
}