
# 分片节点主备切换 - SwitchingRolesofthePrimaryandStandbyDNsinShards
#### 功能介绍
支持用户对单个或多个DN分片做主备切换，同一分组内只能指定一个新的备节点进行升主操作。
- 调用接口前，您需要了解API [认证鉴权](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_011.html)。
- 调用接口前，您需要提前获取到[地区和终端节点](https://developer.huaweicloud.com/endpoint)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforopenGauss&api=SwitchShard)中调试该接口。
#### URI
POST /v3/{project_id}/instances/{instance_id}/switch-shard
表1参数说明 
| 名称          | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_196.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| instance_id | 是    | String | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。 |
| X-Language   | 否    | String | **参数解释：** 指定接口返回信息的语言类型。 **约束限制：** 不涉及。 **取值范围：** - **zh-cn**：中文  - **en-us**：英文   **默认取值** **：** **en-us**                     |
   
表3参数说明 
| 名称     | 是否必选 | 参数类型  | 说明                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| shards | 是    | Array | **参数解释：** 节点列表，支持对单个或者多个DN分片做主备切换。节点信息为将要升主的备DN分片对应的节点ID(node_id)和组件ID(component_id)。具体请参考[表4]。 **约束限制：** 长度最大为1000。 |
   
 表4shards参数说明 
| 名称           | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| node_id      | 是    | String | **参数解释：** 将要升主的备DN的节点ID。节点ID通过[查询实例的组件列表 - QueryingtheComponentsofaDBInstance](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_028.html)获取。 **约束限制** **：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                    |
| component_id | 是    | String | **参数解释：** 将要升主的备DN的组件ID。组件ID通过[查询实例的组件列表 - QueryingtheComponentsofaDBInstance](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_028.html)获取。 **约束限制** **：** 不涉及。 **取值范围** **：** 最大长度7个字符，不能为null或者空字符串，不能为空格，校验和使用之前会自动过滤掉前后空格。至少包含大写字母（A-Z），小写字母（a-z），数字（0-9），非字母数字字符（限定为_）四类字符中的三类字符。 **默认取值** **：** 不涉及。 |
   
#### 响应参数
表5响应参数 
| 名称     | 参数类型   | 说明                                                                                                                                                                               |
|:---|:---|:---|
| job_id | String | **参数解释：** 分片节点主备切换的任务ID。 **取值范围：** 不涉及。 |
   
#### 请求示例
切换多个DN分片的主备。
```
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0c8243400d37468bb4aed3cc94c2911d/instances/dd93e98e103b4fc4b5a978a6bd6f03a9in14/switch-shard
{
 
    "shards": [
        {
            "node_id": "0bc478b4d132494a8f7b804da521b4b2no14",
            "component_id": "dn_6001"
        },
        {
            "node_id": "53dee94c50574d36a0060db0a6b644f6no14",
            "component_id": "dn_6004"
        }
    ]
}
```
#### 响应示例
分片节点主备切换成功。
```
{
"job_id": "e96bbb23-e053-4bd0-b0b7-16ad3f5d9b6d"
}
```
#### 状态码
- 正常 202
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_194.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_195.html)。
