
# 修改边缘设备
#### 功能介绍
应用服务器可调用此接口修改边缘设备。
#### URI
PUT /v1/iotfm/edge/devices/{device_id}
#### 请求参数
表1请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token   | 是    | String | **参数说明** ：用户Token。通过调用 [生成Token](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0008.html) 接口获取，接口返回的响应消息头中"X-Subject-Token"就是需要获取的用户Token。 |
| X-Instance-Id  | 是    | String | **参数说明**：实例ID。通过访问智能设施云平台界面后获取，智能设施云平台资源均为实例级隔离，所有业务接口必须填写正确的实例ID才能被成功调用。 **取值范围**：长度8-36，只允许大小写字母、数字和-字符的组合。          |
| X-Root-Zone-Id | 否    | String | **参数说明**：项目ID。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                                                              |
   
表2请求Body参数 
| 参数                   | 是否必选 | 参数类型                                                                                                       | 描述                                                                                                       |
|:---|:---|:---|:---|
| device_name          | 否    | String                                                                                                     | **参数说明**：设备名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。 |
| device_description   | 否    | String                                                                                                     | **参数说明**：设备描述。 **取值范围**：长度不超过256，只允许中文、字母、数字、以及_-字符的组合。           |
| zone_id              | 否    | String                                                                                                     | **参数说明**：区域ID，支持修改设备所在区域。 **取值范围**：长度不超过24，只允许字母、数字的组合。         |
| brand_id             | 否    | String                                                                                                     | **参数说明**：产品品牌ID。 **取值范围**：长度不超过36，只允许字母、数字、以及_-字符的组合。            |
| zone_code            | 否    | String                                                                                                     | **参数说明**：区域编码。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。          |
| spec_properties      | 否    | Array of [SpecProperty] objects | **参数说明**：设备规格属性列表。数组长度不超过100。                                                                            |
| device_report_period | 否    | Integer                                                                                                    | **参数说明**：设备上报周期。 **取值范围**：只允许数字，单位：秒，范围：5-86400(24小时)。           |
   
 表3SpecProperty 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                          |
|:---|:---|:---|:---|
| property_code  | 是    | String | **参数说明**：属性编码。 **取值范围**：长度不超过40，只允许英文字母大小写、数字、下划线的组合。 |
| property_value | 是    | Object | **参数说明**：属性值。                                                                               |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数                   | 参数类型                                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| zone_id              | String                                                                                                      | **参数说明**：区域ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| zone_code            | String                                                                                                      | **参数说明**：空间编码。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| zone_name            | String                                                                                                      | **参数说明**：区域名称。 **取值范围**：长度不超过64的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| product_id           | String                                                                                                      | **参数说明**：产品ID。 **取值范围**：长度不超过36，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| product_name         | String                                                                                                      | **参数说明**：产品名称。 **取值范围**：长度不超过64的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| brand_id             | String                                                                                                      | **参数说明**：产品品牌ID。 **取值范围**：长度不超过36，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| brand_name           | String                                                                                                      | **参数说明**：产品品牌名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| device_id            | String                                                                                                      | **参数说明**：设备ID。 **取值范围**：长度不超过128，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| node_id              | String                                                                                                      | **参数说明**：设备标识码，通常使用IMEI、MAC地址或SN号作为node_id。 **取值范围**：长度不超过64，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| device_name          | String                                                                                                      | **参数说明**：设备名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| device_description   | String                                                                                                      | **参数说明**：设备描述。 **取值范围**：长度不超过256，只允许中文、字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| device_status        | String                                                                                                      | **参数说明**：设备状态。 **取值范围**： - UNINSTALLED：未安装。   - INSTALLED：已安装。   - OFFLINE：离线。   - ONLINE：在线。   - DELETING：删除中。   - FROZEN：冻结。   - ACTIVE: 激活。   - INACTIVE: 未激活。    |
| manufacturer_info    | [ManufacturerInfo] object   | 厂商信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| extension_info       | Map\<String,String\>                                                                                        | **参数说明**：设备扩展信息。最多填写10个扩展字段。 **取值范围**： key取值长度不超过36，只允许字母、数字、以及_-字符的组合。 value取值长度不超过64，只允许中文、字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| create_time          | String                                                                                                      | **参数说明**：创建时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| spec_properties      | Array of [SpecProperty] objects | **参数说明**：设备规格属性列表。 **取值范围**：数组长度不超过100。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| gateway_id           | String                                                                                                      | **参数说明**：网关ID。 **取值范围**：长度不超过64，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| parent_device_id     | String                                                                                                      | **参数说明**：父设备ID。用于标识设备所属的父设备，即父设备的设备ID。 **取值范围**：长度不超过128，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| edge_device_type     | String                                                                                                      | **参数说明**：边缘设备类型。 **取值范围**：ELEC-机电设备 HlinkG-HlinkG设备 CONTROLLER-控制器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| module_id            | String                                                                                                      | **参数说明**：模块ID。 **取值范围**：长度不超过128，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| device_report_period | Integer                                                                                                     | **参数说明**：设备上报周期。 **取值范围**：只允许数字，单位：秒，范围：5-86400(24小时)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表5ManufacturerInfo 
| 参数                | 参数类型   | 描述                                                                                                        |
|:---|:---|:---|
| manufacturer_name | String | **参数说明**：设备厂商。 **取值范围**：长度不超过32，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。 |
| manufacturer_code | String | **参数说明**：设备厂商编码。 **取值范围**：长度不超过32，只允许字母、数字、以及_-字符的组合。             |
| model             | String | **参数说明**：设备型号。 **取值范围**：长度不超过32，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。  |
   
 表6SpecProperty 
| 参数             | 参数类型   | 描述                                                                                            |
|:---|:---|:---|
| property_code  | String | **参数说明**：属性编码。 **取值范围**：长度不超过40，只允许英文字母大小写、数字、下划线的组合。 |
| property_value | Object | **参数说明**：属性值。                                                                                 |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。 |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
修改边缘设备
```
PUT https://{endpoint}/v1/iotfm/edge/devices/123123123
{
  "device_name" : "机电设备_v1",
  "zone_id" : "18bc8551638d8ce541c32cf5",
  "brand_id" : "18c9fa374df47041550bea48"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "device_name" : "机电设备_v1",
  "node_id" : "123123123",
  "zone_id" : "18bc8551638d8ce541c32cf5",
  "product_id" : "18c9fa374df47041550bea48",
  "brand_id" : "18c9fa374df47041550bea48",
  "brand_name" : "厂商",
  "device_id" : "123123123",
  "extension_info" : { },
  "create_time" : "2023-12-26T12:38:42.259Z",
  "spec_properties" : [ ],
  "gateway_id" : "937032984819937280",
  "parent_device_id" : "937032984819937280",
  "edge_device_type" : "ELEC"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
