
# 更新空间
#### 功能介绍
应用服务器可调用此接口更新单个空间信息。
注意：
- 仅限更新当前空间的名称及属性值。
  
- 不允许更新当前空间的父空间ID。
  
- 该接口为全量更新接口，需要填写所有字段（包含不进行修改的字段）。
  
 
#### URI
PUT /v1/iotfm/zones/{zone_id}
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                  |
|:---|:---|:---|:---|
| zone_id | 是    | String | **参数说明**：空间ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。默认值为ffffffffffffffffffffffff。 |
   
#### 请求参数
表2请求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，只允许字母、数字的组合。                                                                           |
   
表3请求Body参数 
| 参数            | 是否必选 | 参数类型                 | 描述                                                                                                              |
|:---|:---|:---|:---|
| name          | 是    | String               | **参数说明**：空间名 **取值范围**：长度1-256。                                          |
| description   | 否    | String               | **参数说明**：空间描述。 **取值范围**：长度不超过1024。                                      |
| area          | 否    | Integer              | **参数说明**：面积（m²）。单位是平方米。如果不填，表示不修改。 **取值范围**：数字类型，值范围是1-100000000（1亿平方米）。 |
| base_location | 否    | String               | **参数说明**：详细地址信息。如果不填，表示不修改。 **取值范围**：长度0-256。                           |
| country       | 否    | String               | **参数说明**：国家/地区。当前只支持"中国"，其他不支持。如果不填，表示不修改。 **取值范围**：长度1-256。           |
| province      | 否    | String               | **参数说明**：省份。当前只支持中国行政空间，其他不支持。如果不填，表示不修改。 **取值范围**：长度1-256。            |
| city          | 否    | String               | **参数说明**：城市。当前只支持中国行政空间，其他不支持。如果不填，表示不修改。 **取值范围**：长度1-256。            |
| county        | 否    | String               | **参数说明**：区县。当前只支持中国行政空间，其他不支持。如果不填，表示不修改。 **取值范围**：长度1-256。             |
| properties    | 否    | Map\<String,String\> | **参数说明**：属性键值对。                                                                                                 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数              | 参数类型                                                                                                              | 描述                                                                                                              |
|:---|:---|:---|
| id              | String                                                                                                            | **参数说明**：空间全局唯一ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。                      |
| definition_code | String                                                                                                            | **参数说明**：空间规格定义编码。系统自定义规格以$开头，用户自定义不以$开头。 **取值范围**：长度1-256。            |
| code            | String                                                                                                            | **参数说明**：空间编码。可由用户指定，实例级唯一。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。    |
| name            | String                                                                                                            | **参数说明**：空间名称。 **取值范围**：长度1-256。                                        |
| parent_id       | String                                                                                                            | **参数说明**：父级空间ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。                        |
| parent_code     | String                                                                                                            | **参数说明**：父空间编码。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。               |
| parent_name     | String                                                                                                            | **参数说明**：父级名称。 **取值范围**：长度1-256。                                          |
| description     | String                                                                                                            | **参数说明**：空间描述。 **取值范围**：长度0-1024。                                      |
| time_zone       | String                                                                                                            | **参数说明**：空间所属的时区。格式为UTC±hh:mm。                                                                                  |
| area            | Integer                                                                                                           | **参数说明**：面积（m²）。单位：平方米。 **取值范围**：数字类型，值范围是1-100000000（1亿平方米）。          |
| base_location   | String                                                                                                            | **参数说明**：详细地址信息。 **取值范围**：长度0-256。                                      |
| country         | String                                                                                                            | **参数说明**：国家/地区。当前只支持"中国"，其他不支持。 **取值范围**：长度1-256。                     |
| province        | String                                                                                                            | **参数说明**：省份。当前只支持中国行政空间，其他不支持。 **取值范围**：长度1-256。                      |
| city            | String                                                                                                            | **参数说明**：城市。当前只支持中国行政空间，其他不支持。 **取值范围**：长度1-256。                         |
| county          | String                                                                                                            | **参数说明**：区县。当前只支持中国行政空间，其他不支持。 **取值范围**：长度1-256。                        |
| city_code       | String                                                                                                            | **参数说明**：城市编码。根据中国行政空间为每个区县级定义的唯一编码，当前只支持中国行政空间，其他不支持。 **取值范围**：长度1-32。 |
| children_count  | Integer                                                                                                           | **参数说明**：直接下级数量。 **取值范围**：大小为0-100。                                    |
| path            | Array of [ZonePathItemDto] objects | 从根到当前节点的路径，不包含当前节点。                                                                                             |
| properties      | Map\<String,String\>                                                                                              | **参数说明**：属性键值对，json格式。属性是在自定义空间规格里面定义的。 **取值范围**：每个值要满足空间规格自定义属性的范围要求。  |
| create_time     | String                                                                                                            | **参数说明**：创建时间，格式为：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 **取值范围**：大小为0-20。        |
   
 表5ZonePathItemDto 
| 参数    | 参数类型    | 描述                                                         |
|:---|:---|:---|
| id    | String  | 空间ID                                                       |
| name  | String  | 空间名称                                                       |
| depth | Integer | 空间层级，从顶层空间到当前节点的深度，顶层空间深度为1，按层级别依次递增。如depth为2，则代表本空间为第二层级。 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                       |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。    |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
- 更新空间（修改规格编码）
  ```
  PUT https://{endpoint}/v1/iotfm/zones/28f61af50fc9452aa0ed5ea25c3cc3d3
  {
    "name" : "深圳园区1栋",
    "properties" : {
      "status" : "维护中",
      "cost" : 100000
    }
  }
  ```
  
- 更新空间（修改空间名称）
  ```
  PUT https://{endpoint}/v1/iotfm/zones/28f61af50fc9452aa0ed5ea25c3cc3d3
  {
    "name" : "深圳园区2栋"
  }
  ```
  
 
#### 响应示例
**状态码：200**
OK
```
{
  "path" : [ {
    "id" : "18b94dc0bb320e7860a2607d",
    "name" : "深圳",
    "depth" : 1
  }, {
    "id" : "18b94dc0bb320e7860a2607c",
    "name" : "深圳园区",
    "depth" : 2
  } ],
  "id" : "1c8ba11111344005c02316a2",
  "parent_id" : "1c8ba99030344005c02316a2",
  "parent_code" : "1c8ba99030344005c02316a3",
  "parent_name" : "深圳园区",
  "definition_code" : "custom-sub-zone",
  "code" : "5c8ba99030344005c02316ad",
  "name" : "深圳园区1栋",
  "description" : "深圳园区1栋",
  "time_zone" : "UTC+08:00",
  "area" : 100000,
  "base_location" : "深圳市龙岗区坂田街道1栋",
  "country" : "中国",
  "province" : "广东省",
  "city" : "深圳市",
  "county" : "龙岗区",
  "city_code" : "285130",
  "children_count" : 0,
  "properties" : {
    "status" : "维护中"
  },
  "create_time" : "2023-11-14T06:18:59.818Z"
}
```
#### 状态码
| 状态码 | 描述             |
|:---|:---|
| 200 | OK             |
| 400 | Error response |
   
