1. 接口描述
接口请求域名: mongodb.tencentcloudapi.com 。
本接口(ModifyDBInstanceSpec)用于调整MongoDB云数据库实例配置。接口支持的售卖规格,可从查询云数据库的售卖规格(DescribeSpecInfo)获取。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:ModifyDBInstanceSpec。 |
Version | 是 | String | 公共参数,本接口取值:2019-07-25。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
InstanceId | 是 | String | 实例 ID,例如:cmgo-p8vn****。请登录 MongoDB 控制台在实例列表复制实例 ID。 示例值:cmgo-p8vnipr5 |
Memory | 否 | Integer | 实例配置变更后的内存大小。- 单位:GB。为空时,默认取实例当前的内存大小。 注意:内存和磁盘必须同时升配或同时降配,即 Memory 与 Volume 需同时配置变更。 示例值:4 |
Volume | 否 | Integer | 实例配置变更后的硬盘大小,单位:GB。为空时,默认取当前实例的磁盘大小。 - 内存和磁盘必须同时升配或同时降配,即 Memory 与 Volume 需同时配置变更。 - 降配时,变更后的磁盘容量必须大于已用磁盘容量的1.2倍。 示例值:250 |
OplogSize | 否 | Integer | (已废弃) 请使用ResizeOplog独立接口完成。 实例配置变更后 Oplog 的大小。 - 单位:GB。 - 默认 Oplog 占用容量为磁盘空间的10%。系统允许设置的 Oplog 容量范围为磁盘空间的[10%,90%]。 示例值:25 |
NodeNum | 否 | Integer | 实例变更后mongod的节点数(不包含readonly节点数)。 - 变更mongod CPU与内存规格时,该参数可以不配置或者输入当前 mongod(不包含readonly) 节点数量。 - 变更 mongos CPU与内存规格时,该参数可以不配置或者输入当前 mongod(不包含readonly) 节点数量。 - 节点变更时(全部类型),该参数可不配置或输入变更后的 mongod(不包含readonl) 节点数量。 - 副本集节点数:请确认节点数量取值范围,通过云数据库的售卖规格 DescribeSpecInfo 接口返回的参数 MinNodeNum 与 MaxNodeNum 获取。 - 分片集群每个分片节点数:请确认节点数量取值范围,通过云数据库的售卖规格 DescribeSpecInfo 接口返回的参数 MinReplicateSetNodeNum 与 MaxReplicateSetNodeNum 获取。 示例值:3 |
ReplicateSetNum | 否 | Integer | 实例变更后的分片数。 - 取值范围请通过云数据库的售卖规格DescribeSpecInfo 接口返回的参数MinReplicateSetNum与MaxReplicateSetNum获取。- 该参数只能增加不能减少。 示例值:3 |
InMaintenance | 否 | Integer | 实例配置变更的切换时间。 - 0:调整完成时,立即执行变配任务。默认为0。 - 1:在维护时间窗内,执行变配任务。 说明:调整节点数和分片数不支持在维护时间窗内变更。 示例值:0 |
MongosMemory | 否 | String | 分片实例配置变更后的mongos内存大小。单位:GB。 示例值:2 |
AddNodeList.N | 否 | Array of AddNodeList | 新增节点列表,节点类型及可用区信息。 |
RemoveNodeList.N | 否 | Array of RemoveNodeList | 删除节点列表,注意:基于分片实例各片节点的一致性原则,删除分片实例节点时,只需指定0分片对应的节点即可,如:cmgo-9nl1czif_0-node-readonly0 将删除每个分片的第1个只读节点。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
DealId | String | 订单 ID。 示例值:20221111870001224049791 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 调整云数据库实例配置
调整云数据库实例配置
输入示例
POST / HTTP/1.1
Host: mongodb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ModifyDBInstanceSpec
<公共请求参数>
{
"InstanceId": "cmgo-p8vn****",
"Volume": "250",
"Memory": "4"
}
输出示例
{
"Response": {
"RequestId": "d88095e5-50e8-4245-a0cf-993a536f9b20",
"DealId": "7142863"
}
}
示例2 删除mognodb云数据库实例从节点
广州二区和三区共删除2个从节点,最终节点数量变更为3
输入示例
POST / HTTP/1.1
Host: mongodb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ModifyDBInstanceSpec
<公共请求参数>
{
"InstanceId": "cmgo-abcdef",
"Memory": 4,
"Volume": 100,
"OplogSize": 30,
"NodeNum": 3,
"ReplicateSetNum": 1,
"InMaintenance": 1,
"RemoveNodeList": [
{
"NodeName": "cmgo-3iecwbfx_0-node0",
"Role": "SECONDARY",
"Zone": "ap-guangzhou-2"
},
{
"NodeName": "cmgo-3iecwbfx_0-node1",
"Role": "SECONDARY",
"Zone": "ap-guangzhou-3"
}
]
}
输出示例
{
"Response": {
"DealId": "7142863",
"RequestId": "d88095e5-50e8-4245-a0cf-993a536f9b20"
}
}
示例3 新增mognodb云数据库实例从节点
广州二区和三区共新增2个从节点,最终节点数量变更为5
输入示例
POST / HTTP/1.1
Host: mongodb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ModifyDBInstanceSpec
<公共请求参数>
{
"InstanceId": "cmgo-abcdef",
"Memory": 4,
"Volume": 100,
"OplogSize": 30,
"NodeNum": 5,
"ReplicateSetNum": 1,
"InMaintenance": 1,
"AddNodeList": [
{
"Role": "SECONDARY",
"Zone": "ap-guangzhou-2"
},
{
"Role": "SECONDARY",
"Zone": "ap-guangzhou-3"
}
]
}
输出示例
{
"Response": {
"DealId": "7142863",
"RequestId": "d88095e5-50e8-4245-a0cf-993a536f9b20"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InvalidParameter.PermissionDenied | 当前子账号无权执行该操作。 |
InvalidParameter.ZoneClosed | 可用区已关闭售卖。 |
InvalidParameterValue.InvalidTradeOperation | 计费相关错误,不允许对当前实例进行对应的新购/续费/配置变更操作。 |
InvalidParameterValue.ModifyModeError | 内存和磁盘必须同时升配或降配。 |
InvalidParameterValue.NotFoundInstance | 未找到实例。 |
InvalidParameterValue.OplogSizeOutOfRange | OplogSize参数设置错误,应介于磁盘容量的10%和90%之间。 |
InvalidParameterValue.SetDiskLessThanUsed | 设置的磁盘大小不得低于已用磁盘的1.2倍。 |
InvalidParameterValue.SpecNotOnSale | 购买规格错误。 |
InvalidParameterValue.StatusAbnormal | 实例处于不允许操作的状态。 |