创建实例
接口说明
创建文档数据库实例,包括集群实例和副本集实例。
约束说明
该接口既支持创建包年包月实例,也支持按需实例。
URI
名称 |
类型 |
IN |
是否必选 |
描述 |
---|---|---|---|---|
X-Auth-Token |
string |
header |
是 |
从IAM服务获取的用户Token。请参考认证鉴权。 |
project_id |
string |
path |
是 |
租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 |
请求消息
- 参数说明
表2 参数说明 名称
参数类型
是否必选
描述
name
String
是
实例名称。
用于表示实例的名称,允许和已有名称重复。
实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。
datastore
Object
是
数据库信息。详情请参见表3。
region
String
是
区域ID。
取值:非空,请参见地区和终端节点。
availability_zone
String
是
可用区ID。参见查询数据库规格接口中返回的az_status ,可以选择多个AZ,创建跨AZ的集群。
取值:非空,请参见地区和终端节点。
vpc_id
String
是
虚拟私有云ID,获取方法如下:
- 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
- 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。
subnet_id
String
是
子网的网络ID,获取方法如下:
- 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
- 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。
security_group_id
String
是
port
String
否
数据库访问端口。
端口有效范围:2100~65535(不包括12017和33071)。
不传该参数时,创建实例的访问端口默认为8635。
password
String
否
数据库密码。
取值范围:长度为8~32位,必须是大写字母(A~Z)、小写字母(a~z)、数字(0~9)、特殊字符~!@#%^*-_=+?的组合。
建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。
不传该参数时,实例创建完成后,如需连接实例,请先为实例设置密码,具体请参见重置管理员密码。
disk_encryption_id
String
否
磁盘加密时的密钥ID,严格UUID正则校验。
不传该参数时,表示不进行磁盘加密。
mode
String
是
实例类型。目前,支持集群和副本集。
取值:
- Sharding
- ReplicaSet
configurations
Array of objects
否
参数组配置信息。详情请参见表4。
不传该参数时,表示为系统默认参数组。
flavor
Array of objects
是
实例规格详情。详情请参见表5。
获取方法请参见查询数据库规格中响应flavors字段下参数的值。
backup_strategy
Object
否
高级备份策略。详情请参见表6。
enterprise_project_id
String
否
企业项目ID。
- 对于未开通企业多项目服务的用户,不传该参数。
- 对于已开通企业多项目服务的用户,不传该参数时,表示为default企业项目。
获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。
ssl_option
String
否
SSL开关选项。
取值:
- 取“0”,表示DDS实例默认不启用SSL连接。
- 取“1”,表示DDS实例默认启用SSL连接。
- 不传该参数时,默认不启用SSL连接。
dss_pool_id
String
否
Dec用户专属存储ID,默认为空。仅Dec用户支持该参数。
server_group_policies
Array of strings
否
Dec用户云服务器组关联的策略名称列表。仅Dec用户支持该参数。
该参数取值包括:
- 取“anti-affinity”,表示DDS实例开启反亲和部署,反亲和部署是出于高可用性考虑,将您的Primary、Secondary和Hidden节点分别创建在不同的物理机上。
- Dec用户不传该参数时,默认不开启反亲和部署。
tags
Array of objects
否
标签列表。
单个实例总标签数上限20个。详情请参见表7。
charge_info
Object
否
计费类型信息,支持包年包月和按需计费,默认为按需计费。
详情请参见表8。
表3 datastore字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
数据库版本类型。取值为“DDS-Community”。
version
String
是
数据库版本。支持5.0、4.4、4.2、4.0、3.4版本,取值为“5.0”、“4.4”、“4.2”、“4.0”、“3.4”。
storage_engine
String
是
存储引擎。支持WiredTiger/RocksDB存储引擎。
- 数据库版本为4.2及以上时,存储引擎为RocksDB,取值为“rocksDB”。
- 数据库版本为4.0和3.4时,存储引擎为WiredTiger,取值为“wiredTiger”。
表4 Configurations字段数据结构说明 参数
参数类型
是否必选
描述
type
String
是
节点类型。取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
枚举值:
- mongos
- shard
- config
- replica
configuration_id
String
是
参数组id。获取参数值请参见表4
表5 flavor字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
节点类型。
取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
num
String
是
节点数量或组数量。
取值:
- type取值“mongos”,num表示集群实例下mongos节点的数量,取值2~16。
- type取值“shard”,num表示集群实例下shard组的数量,取值2~16。
- type取值“config”,num表示集群实例下config组的数量,只能取值1。
- type取值“replica”,num表示副本集实例下副本节点的数量,可取值3,5,7。
storage
String
否
磁盘类型。
取值:- ULTRAHIGH,表示SSD。
- EXTREMEHIGH,表示极速型SSD。
对于集群实例的shard和config节点,以及副本集实例,该参数有效。mongos节点不涉及选择磁盘,该参数无意义。
size
String
否
磁盘大小。
对于除mongos外的其他节点,该参数必选。mongos节点下,该参数无意义。
取值:必须为10的整数倍。单位为GB。
- 对于集群实例,shard组可取10GB~2000GB,config组仅可取20GB。mongos节点不涉及选择磁盘,该参数无意义。
- 对于副本集实例,可取10GB~3000GB。
spec_code
String
是
资源规格编码。获取方法请参见查询数据库规格中响应参数“spec_code”的值。
集群实例下,需要指定多个规格,要求所有规格的系列一致,均为通用型(s6)、增强型(c3)、或增强Ⅱ型(c6)。
示例:- dds.mongodb.s6.large.4.mongos和dds.mongodb.s6.large.4.config是同一规格系列。
- dds.mongodb.s6.large.4.mongos和dds.mongodb.c3.large.4.config不是同一规格系列。
表6 backup_strategy字段数据结构说明 名称
参数类型
是否必选
描述
start_time
String
是
备份时间段。自动备份将在该时间段内触发。
取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。
- HH取值必须比hh大1。
- mm和MM取值必须相同,且取值必须为00。
- 不传该参数,默认的备份时间段不传该参数,默认的备份时间段为00:00-01:00。
取值示例:
23:00-00:00
keep_days
String
否
指定已生成的备份文件可以保存的天数。
取值范围:0~732。
- 取0值,表示不设置自动备份策略。
- 不传该参数,默认开启自动备份策略,备份文件默认保存7天。
表7 tags字段数据结构说明 名称
参数类型
是否必选
描述
key
String
是
标签键。最大长度36个unicode字符。
key不能为空,不能为空字符串,不能重复。
字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
value
String
是
标签值。最大长度43个unicode字符。 可以为空字符串。
字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
表8 charge_info字段数据结构说明 参数
参数类型
是否必选
描述
charge_mode
String
是
计费模式。 取值范围:
- prePaid:预付费,即包年/包月。
- postPaid:后付费,即按需付费。
period_type
String
否
订购周期类型。 “charge_mode”为“prePaid”时生效,且为必选值。 取值范围:
- month:包月。
- year:包年。
period_num
Integer
否
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
- 当“period_type”为“month”时,取值为1~9。
- 当“period_type”为“year”时,取值为1~3
is_auto_renew
Boolean
否
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 取值范围:
- true,表示自动续订。
- false,表示不自动续订,默认为该方式。
is_auto_pay
Boolean
否
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 取值范围:
- true,表示自动从账户中支付。
- false,表示手动从账户中支付,默认为该支付方式。
请求示例中参数“region”和“availability_zone”的值为示例值。
请求示例
- 创建版本为3.2,存储引擎为wiredTiger,带有虚拟私有云,子网,安全组,参数组配置,启用SSL连接,带有标签的集群实例
{ "name": "test-cluster-01", "datastore": { "type": "DDS-Community", "version": "3.2", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password": "******", "mode": "Sharding", "configurations": [ { "type": "mongos", "configuration_id": "acb288dbd1174f26a8960b45591bd98apr02" }, { "type": "shard", "configuration_id": "5bca546f0be64b038124ef9cedd1bfa1pr02" }, { "type": "config", "configuration_id": "4d123b3ba8294921802b11bf4d8c5735pr02" } ], "flavor": [ { "type": "mongos", "num": 2, "spec_code": "dds.mongodb.c6.medium.4.mongos" }, { "type": "shard", "num": 2, "storage": "ULTRAHIGH", "size": 20, "spec_code": "dds.mongodb.c6.medium.4.shard" }, { "type": "config", "num": 1, "storage": "ULTRAHIGH", "size": 20, "spec_code": "dds.mongodb.c6.large.2.config" } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 8 }, "ssl_option": 1, "dss_pool_id": "f5f84ed7-6f19-4bd4-99d7-b450ad6cc4dd", "server_group_policies": [ "anti-affinity" ], "tags": [ { "key": "dds001", "value": "dds001" } ] }
- 创建版本为3.4,存储引擎为wiredTiger,带有虚拟私有云,子网,安全组,参数组配置,启用SSL连接,带有标签的跨AZ集群实例
{ "name": "test-cluster-01", "datastore": { "type": "DDS-Community", "version": "3.4", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "aaa,bbb,ccc", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password": "******", "mode": "Sharding", "flavor": [ { "type": "mongos", "num": 2, "spec_code": "dds.mongodb.c6.medium.4.mongos" }, { "type": "shard", "num": 2, "storage": "ULTRAHIGH", "size": 20, "spec_code": "dds.mongodb.c6.medium.4.shard" }, { "type": "config", "num": 1, "storage": "ULTRAHIGH", "size": 20, "spec_code": "dds.mongodb.c6.large.2.config" } ], "backup_strategy": { "start_time": "23:00-00:00", "keep_days": "8" }, "ssl_option":"1", "tags" : [{ "key" : "dds001", "value" : "dds001" }] }
- 创建版本为3.2,存储引擎为wiredTiger,带有虚拟私有云,子网,安全组,参数组配置,启用SSL连接,带有标签的副本集实例
{ "name": "test-replicaset", "datastore": { "type": "DDS-Community", "version": "3.2", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password": "******", "mode": "ReplicaSet", "configurations": [ { "type": "replica", "configuration_id": "f17e3aad778440fbb68603c8c9032003pr02" } ], "flavor": [ { "type": "replica", "num": 1, "storage": "ULTRAHIGH", "size": 30, "spec_code": "dds.mongodb.c6.medium.4.repset" } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 8 }, "ssl_option": 1, "tags": [ { "key": "dds001", "value": "dds001" } ] }
响应消息
- 参数说明
表9 参数说明 名称
参数类型
是否必选
描述
id
String
否
实例ID。
name
String
否
实例名称,与请求参数相同。
datastore
Object
否
数据库信息,与请求参数相同。详情请参见表10。
created
String
否
创建时间为本地时间,格式为“yyyy-mm-dd hh:mm:ss”。
status
String
否
实例状态,取值为“creating”。
region
String
否
区域ID,与请求参数相同。
availability_zone
String
否
可用区ID,与请求参数相同。
vpc_id
String
否
虚拟私有云ID,与请求参数相同。
subnet_id
String
否
子网的网络ID,与请求参数相同。
security_group_id
String
否
安全组ID列表,与请求参数相同。
port
Integer
否
数据库访问端口。
disk_encryption_id
String
否
磁盘加密的密钥ID,与请求参数相同。
mode
String
否
实例类型,与请求参数相同。
configurations
Array of objects
否
参数组配置信息。
详情请参见表11。
flavor
Array of objects
否
实例规格详情,与请求参数相同。详情请参见表12。
backup_strategy
Object
否
高级备份策略,与请求参数相同。详情请参见表13。
enterprise_project_id
String
否
企业项目ID。取值为“0”,表示为default企业项目。
ssl_option
String
否
SSL开关选项,与请求参数相同。
dss_pool_id
String
否
Dec用户专属存储ID,与请求参数相同。
job_id
String
否
创建实例的工作流ID。
tags
Array of objects
否
标签列表,与请求参数相同。
详情请参见表14。
order_id
String
否
创建实例的订单ID,仅创建包年包月实例时返回该参数。
charge_info
Object
否
付费方式信息,与请求参数相同。
详情请参见表15。
表10 datastore字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
数据库版本类型。取值为“DDS-Community”。
version
String
是
数据库版本。支持5.0、4.4、4.2、4.0、3.4版本,取值为“5.0”、“4.4”、“4.2”、“4.0”、“3.4”。
storage_engine
String
是
存储引擎。支持WiredTiger/RocksDB存储引擎。
- 数据库版本为4.2及以上时,存储引擎为RocksDB,取值为“rocksDB”。
- 数据库版本为4.0和3.4时,存储引擎为WiredTiger,取值为“wiredTiger”。
表11 Configurations字段数据结构说明 参数
参数类型
是否必选
描述
type
String
是
节点类型。取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
枚举值:
- mongos
- shard
- config
- replica
configuration_id
String
是
参数组id。获取参数值请参见表4
表12 flavor字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
节点类型。
num
String
是
节点数量或组数量。
storage
String
否
磁盘类型。
size
String
否
磁盘大小。
spec_code
String
是
资源规格编码。
表13 backup_strategy字段数据结构说明 名称
参数类型
是否必选
描述
start_time
String
是
备份时间段。自动备份将在该时间段内触发。
keep_days
String
否
指定已生成的备份文件可以保存的天数。
表14 tags字段数据结构说明 名称
参数类型
是否必选
描述
key
String
是
标签键。最大长度36个unicode字符。
key不能为空,不能为空字符串,不能重复。
字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
value
String
是
标签值。最大长度43个unicode字符。 可以为空字符串。
字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
表15 charge_info字段数据结构说明 参数
参数类型
是否必选
描述
charge_mode
String
是
计费模式。 取值范围:
- prePaid:预付费,即包年/包月。
- postPaid:后付费,即按需付费。
period_type
String
否
订购周期类型。 “charge_mode”为“prePaid”时生效,且为必选值。 取值范围:
- month:包月。
- year:包年。
period_num
Integer
否
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
- 当“period_type”为“month”时,取值为1~9。
- 当“period_type”为“year”时,取值为1~3
is_auto_renew
Boolean
否
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 取值范围:
- true,表示自动续订。
- false,表示不自动续订,默认为该方式。
is_auto_pay
Boolean
否
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 取值范围:
- true,表示自动从账户中支付。
- false,表示手动从账户中支付,默认为该支付方式。
响应示例中参数“region”和“availability_zone”的值为示例值。
- 响应示例
{ "id": "39b6a1a278844ac48119d86512e0000bin02", "name": "test-cluster-01", "datastore": { "type": "DDS-Community", "version": "3.4", "storage_engine": "wiredTiger" }, "created": "2019-01-16 09:34:36", "status": "creating", "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "mode": "Sharding", "configurations": [ { "type": "mongos", "configuration_id": "acb288dbd1174f26a8960b45591bd98apr02" }, { "type": "shard", "configuration_id": "5bca546f0be64b038124ef9cedd1bfa1pr02" }, { "type": "config", "configuration_id": "4d123b3ba8294921802b11bf4d8c5735pr02" } ], "flavor": [ { "type": "mongos", "num": 2, "spec_code": "dds.mongodb.c6.medium.4.mongos" }, { "type": "shard", "num": 2, "storage": "ULTRAHIGH", "spec_code": "dds.mongodb.c6.medium.4.shard", "size": 20 }, { "type": "config", "num": 1, "storage": "ULTRAHIGH", "spec_code": "dds.mongodb.c6.large.2.config", "size": 20 } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": "8" }, "enterprise_project_id": "", "ssl_option": "1", "dss_pool_id": "f5f84ed7-6f19-4bd4-99d7-b450ad6cc4dd", "job_id": "c010abd0-48cf-4fa8-8cbc-090f093eaa2f", "tags": [ { "key": "dds001", "value": "dds001" } ] }
SDK
单击文档数据库服务 DDS SDK,下载SDK或查看SDK文档。SDK的安装、认证方式等在SDK文档中对应语言类型的【使用】目录下。
状态码
详情请参见状态码。
错误码
详情请参见错误码。