
# 更新云服务器元数据 - UpdateServerMetadata
#### 功能介绍
更新云服务器元数据。
- 如果元数据中没有待更新字段，则自动添加该字段。
- 如果元数据中已存在待更新字段，则直接更新字段值。
- 如果元数据中的字段不在请求参数中，则保持不变。
![](https://support.huaweicloud.com/api-ecs/public_sys-resources/note_3.0-zh-cn.png)
如果元数据中包含了敏感数据，您应当采取适当的措施来保护敏感数据，比如限制访问范围、加密等。
#### 接口约束
云服务器状态（云服务器的OS-EXT-STS:vm_state属性）必须是active，stopped，paused或者suspended。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=UpdateServerMetadata)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                             | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                            | 别名 | 依赖的授权项            |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:updateMetadata | write | instance \* | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId   | -  | iam:agencies:pass |
   
#### URI
POST /v1/{project_id}/cloudservers/{server_id}/metadata
表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| project_id | 是    | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| server_id  | 是    | **参数解释：** 云服务器ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                       |
   
#### 请求消息
表2请求参数说明 
| 参数       | 是否必选 | 参数类型                 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| metadata | 是    | Map\<String,String\> | **参数解释：** 更新云服务器元数据。 可以通过元数据自定义键值对。系统预留键值对请参见[表11](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0167957246.html#ZH-CN_TOPIC_0167957246__table2373623012315)。 **约束限制：** 如果元数据中包含了敏感数据，您应当采取适当的措施来保护敏感数据，比如限制访问范围、加密等。 **取值范围：** - 键（Key）：只能由大写字母（A-Z）、小写字母（a-z）、数字（0-9）、中划线（-）、下划线（_）、冒号（:）、空格（ ）和小数点（.）组成，长度为\[1\~255\]个字符。  - 值（Value）：最大长度为255个字符。   **默认取值：** 不涉及 |
   
#### 响应消息
表3参数说明 
| 参数       | 参数类型   | 说明                                                                                                                                 |
|:---|:---|:---|
| metadata | Object | **参数解释：** 用户自定义metadata键值对。 **取值范围：** 不涉及 |
   
#### 请求示例
更新云服务器的元数据为自定义的键值对。
```
POST https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/metadata
{
    "metadata": {
        "key": "value"
    }
}
```
#### 响应示例
```
{
    "metadata":{
        "key":"value"
    }
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
