You need to enable JavaScript to run this app.
导航
SwitchNodeRole
最近更新时间:2024.12.04 11:23:22首次发布时间:2024.12.04 11:23:22

实例节点角色切换

请求类型

异步请求。

前提条件

  • 实例架构为副本集实例(即 InstanceTypeReplicaSet)。关于产品架构的更多说明,请参见产品架构
  • 实例状态为运行中(即 InstanceStatusRunning)。关于实例状态的更多说明,请参见实例状态
  • 实例申请公网地址。若实例已申请公网地址,需先释放公网地址后再执行角色切换操作。您可以调用 DeleteDBEndpoint 接口释放目标 MongoDB 实例中的公网连接地址。

注意事项

  • 手动切换节点角色过程(一般需要 30~60 秒)中,实例可能会出现 1~2 次连接闪断,请谨慎操作。建议在业务低峰期执行切换操作,并确保应用具备自动重连机制。
  • 节点角色切换操作仅会变更节点的角色,不会改变节点所在的可用区和节点 ID。

请求参数

参数
类型
是否必选
示例值
描述
InstanceId
String
mongo-replica-ea19dab0****

实例 ID。

说明

您可以调用 DescribeDBInstances 接口查询目标地域下所有 MongoDB 实例的基本信息,包括实例 ID。

SrcNodeId
String
mongo-replica-ea19dab0****-2

原节点 ID。

说明

您可以调用 DescribeDBInstanceDetail 接口查询目标 MongoDB 实例的详细信息,包括实例中各节点的节点 ID 和角色信息(即返回结果中 Nodes 结构体下的 NodeIdNodeRole)。

SrcNodeRole
String
Hidden

原节点角色,取值范围如下:

  • Primary:主节点。
  • Secondary:从节点。
  • Hidden:隐藏节点。

说明

  • 您可以调用 DescribeDBInstanceDetail 接口查询目标 MongoDB 实例的详细信息,包括实例中各节点的节点 ID 和角色信息(即返回结果中 Nodes 结构体下的 NodeIdNodeRole)。
  • 传入的节点 ID 和节点角色必须一一对应。
    例如,实例中主节点的节点 ID 为 mongo-replica-ea19dab0****-2,隐藏节点的节点 ID 为 mongo-replica-ea19dab0****-1,那么:
    • 主节点:NodeIdmongo-replica-ea19dab0****-2,且 NodeRolePrimary
    • 隐藏节点:NodeIdmongo-replica-ea19dab0****-1,且 NodeRoleHidden
  • 原节点和目标节点的节点角色必须不同。
DstNodeId
String
mongo-replica-ea19dab0****-1

目标节点 ID。

说明

您可以调用 DescribeDBInstanceDetail 接口查询目标 MongoDB 实例的详细信息,包括实例中各节点的节点 ID 和角色信息。

DstNodeRole
String
Primary

节点目标角色,取值范围如下:

  • Primary:主节点。
  • Secondary:从节点。
  • Hidden:隐藏节点。

说明

  • 您可以调用 DescribeDBInstanceDetail 接口查询目标 MongoDB 实例的详细信息,包括实例中各节点的节点 ID 和角色信息(即返回结果中 Nodes 结构体下的 NodeIdNodeRole)。
  • 传入的节点 ID 和节点角色必须一一对应。
    例如,实例中主节点的节点 ID 为 mongo-replica-ea19dab0****-2,隐藏节点的节点 ID 为 mongo-replica-ea19dab0****-1,那么:
    • 主节点:NodeIdmongo-replica-ea19dab0****-2,且 NodeRolePrimary
    • 隐藏节点:NodeIdmongo-replica-ea19dab0****-1,且 NodeRoleHidden
  • 原节点和目标节点的节点角色必须不同。

返回参数

无。

示例

请求示例

将实例中的主节点切换为隐藏节点。

POST https://mongodb.volcengineapi.com/?Action=SwitchNodeRole&Version=2022-01-01 HTTP/1.1
Host: mongodb.volcengineapi.com
{
  "InstanceId": "mongo-replica-ea19dab0288e",
  "DstNodeId": "mongo-replica-ea19dab0****-2",
  "DstNodeRole": "Primary",
  "SrcNodeId": "mongo-replica-ea19dab0****-1",
  "SrcNodeRole": "Hidden",
  
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230604110420100232280022D31****",
        "Action": "SwitchNodeRole",
        "Version": "2022-01-01",
        "Service": "mongodb",
        "Region": "cn-beijing"
    },
    "Result": null
}

错误码

更多详情,请参见错误码