创建副本集实例
更新时间:2024-06-05
前提条件
创建实例需要实名认证,没有通过实名认证的可以前往百度智能云官网控制台中的安全认证下的实名认证中进行认证。
说明
- 本接口用于创建相同配置的云数据库 DocDB for MongoDB 实例,目前仅支持一次创建一个。
- 创建预付费方式的实例则需要账户现金余额大于等于实例费用。
- 创建接口为异步创建,可通过查询指定实例详情接口查询实例状态。
请求结构
POST /v{version}/instance?clientToken={clientToken} HTTP/1.1
HOST: mongodb.bj.baidubce.com
Authorization: authorization string
{
"billing":{
"paymentTiming": paymentTiming,
"reservation": {
"reservationLength": reservationLength
}
},
"engineVersion": dbVersion,
"storageEngine": dbEngine,
"dbInstanceType": dbInstanceType,
"dbInstanceCpuCount": dbCpu,
"dbInstanceMemoryCapacity": dbMemory,
"dbInstanceStorage": dbStorage,
"dbInstanceName": dbName,
"accountPassword": password,
"dbInstanceStorageType": storageType,
"votingMemberNum": votingMemberNum,
"readonlyNodeNum": readonlyNodeNum,
"srcDbInstanceId": srcDbInstanceId,
"backupId": backupId,
"vpcId": vpcId,
"subnets":[
{
"zoneName": zoneName,
"subnetId": subnetId
}
],
"restoreTime": restoreTime,
"tags":[
{
"tagKey": tagKey,
"tagValue": tagValue
}
]
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必选 | 参数位置 | 描述 |
---|---|---|---|---|
version | String | 是 | URL参数 | API版本号 |
clientToken | String | 是 | Query参数 | 幂等性Token,是一个长度不超过64位的ASCII字符串。 |
billing | Billing | 是 | RequestBody参数 | 订单、计费相关参数。结构及取值参考 |
purchaseCount | Int | 否 | RequestBody参数 | 批量创建实例个数, 目前仅支持一次创建一个;默认1。 |
dbInstanceName | String | 否 | RequestBody参数 | 用户自定义实例名,要求: 1)支持大小写字母、数字、汉字以及-_ /.等特殊字符,必须以字母开头; 2)长度限制为1~65; 3) 默认不指定。如果没有指定,则自动随机生成。 |
storageEngine | String | 是 | RequestBody参数 | 存储引擎。取值参考 |
engineVersion | String | 是 | RequestBody参数 | 数据库版本。取值参考 |
dbInstanceType | String | 否 | RequestBody参数 | 实例类型。默认值replica。取值参考 |
dbInstanceCpuCount | Int | 是 | RequestBody参数 | 副本集实例CPU规格。取值参考 |
dbInstanceMemoryCapacity | Int | 是 | RequestBody参数 | 副本集实例内存规格,单位GB。取值参考 |
dbInstanceStorage | Int | 是 | RequestBody参数 | 副本集实例存储规格,单位GB。取值参考 |
accountPassword | String | 否 | RequestBody参数 | root账号的密码,为空则产生随机密码。密码须满足8~32位字符,英文、数字和符号必须同时存在,符号仅限!#$%^*()。密码需要加密传输,密码一律采用AES 128位加密算法进行加密,用SK作为密钥,加密后生成的二进制字节流需要转成十六进制,并以字符串的形式传到服务端。步骤如下: byte[] bCiphertext= AES(明文,SK) String strHex = HexStr(bCiphertext)。 |
dbInstanceStorageType | String | 否 | RequestBody参数 | 实例存储类型。默认值CDS_PREMIUM_SSD。取值参考 |
votingMemberNum | Int | 是 | RequestBody参数 | 副本集实例投票节点数量。取值为1、3。默认为3,当取值1时表示单节点实例。 |
readonlyNodeNum | Int | 是 | RequestBody参数 | 副本集实例只读节点数量。默认为0,最多可创建5个只读节点,针对三节点的副本集有效。 |
srcDbInstanceId | String | 否 | RequestBody参数 | 源实例ID。只有调用本接口用于备份恢复实例时需要配置该参数,同时配置backupId参数。 |
backupId | String | 否 | RequestBody参数 | 备份ID。只支持从物理备份创建实例。只有调用本接口用于备份恢复实例时需要配置该参数,同时需要配置srcDbInstanceId参数。 |
vpcId | String | 否 | RequestBody参数 | 如果不提供,则选择默认vpc。可通过调用查询VPC列表接口查询可用的VPC。 |
subnets | List SubnetModel | 否 | RequestBody参数 | 如果不提供,则选择默认子网。当需要创建多可用区副本集实例时,需填写3个可用区子网信息。可通过调用查询可用区列表接口查询可用区列表。 |
restoreTime | String | 否 | RequestBody参数 | 将实例恢复到该时间点,格式为GMT类型字符串"yyyy-MM-ddTHH:mm:ssZ",该可恢复时间的范围可以通过getRecovableTimeRange接口获取,只有参数srcDbInstanceId存在的时候才可用(此时不需要backupId参数) |
resGroupId | String | 否 | RequestBody参数 | 资源组ID |
tags | List TagModel | 否 | RequestBody参数 | 指定新创建实例的标签 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 描述 |
---|---|---|
dbInstanceSimpleModels | List dbInstanceSimpleModel | 创建的实例信息 |
请求示例
POST /v1/instance?clientToken=be31b98c-5e41-4838-9830-9be700de5a20 HTTP/1.1
HOST: mongodb.bj.baidubce.com
ContentType: application/json
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2017-11-21T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
{
"billing":{
"paymentTiming": "Prepaid",
"reservation": {
"reservationLength": 1
}
},
"engineVersion": "3.4",
"storageEngine": "WiredTiger",
"dbInstanceType": "replica",
"dbInstanceCpuCount": 1,
"dbInstanceMemoryCapacity": 2,
"dbInstanceStorage": 5,
"dbInstanceName": "myInstance",
"accountPassword": "0f5c9202840d80d71d65d4100a48b67f",
"dbInstanceStorageType": "LOCAL_DISK",
"votingMemberNum": 3,
"readonlyNodeNum": 1,
"vpcId": "vpc-jdni4sh8",
"subnets":[
{
"zoneName": "cn-bj-a",
"subnetId": "sbn-ien9ahe"
}
],
"restoreTime": "2017-11-20T20:00:00Z",
”tags":[
{
"tagKey": "tagKey-test",
"tagValue": "tagvalue-test"
}
]
}
返回示例
HTTP/1.1 200 OK
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
Content-Type: application/json
{
"dbInstanceSimpleModels" : [
{
"dbInstanceId": "m-gGWeCM",
"connectionString: "mongodb://root:****@gGWeCMs7y.mongodb.bd.baidubce.com:27017,gGWeCMApo.mongodb.bd.baidubce.com:27017/admin?replicaSet=rep-s0YWZQ",
"port": "27017"
}
]
}