更新时间:2022-02-22 GMT+08:00

创建实例

功能介绍

创建文档数据库实例,包括集群实例和副本集实例。

URI

  • URI格式

    POST /v3/{project_id}/instances

  • 参数说明
    表1 参数说明

    名称

    是否必选

    描述

    project_id

    租户在某一region下的project ID。

请求消息

  • 参数说明
    表2 参数说明

    名称

    是否必选

    参数类型

    描述

    name

    String

    实例名称。用于表示实例的名称,同一租户下,同类型的实例名唯一。

    取值范围:长度为4~64位,必须以字母开头(A~Z或a~z),区分大小写,可以包含字母、数字(0~9)、中划线(-)或者下划线(_),不能包含其他特殊字符。

    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

    安全组ID,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
    • 方法2:获取方法请参见《虚拟私有云API参考》中“查询安全组列表”的内容。

    password

    String

    数据库密码。

    取值范围:长度为8~32位,必须是大写字母(A~Z)、小写字母(a~z)、数字(0~9)、特殊字符~!@#%^*-_=+?的组合。

    建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。

    mode

    String

    实例类型。目前,支持集群和副本集。

    取值:

    • Sharding
    • ReplicaSet

    flavor

    Array of objects

    实例规格详情。详情请参见表4

    获取方法请参见查询所有实例规格信息中响应flavors字段下参数的值。

    backup_strategy

    Object

    高级备份策略。详情请参见表5

    enterprise_project_id

    String

    企业项目ID。

    • 对于未开通企业多项目服务的用户,不传该参数。
    • 对于已开通企业多项目服务的用户,不传该参数时,表示为default企业项目。

    获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。

    ssl_option

    String

    SSL开关选项。

    取值:

    • 取“0”,表示DDS实例默认不启用SSL连接。
    • 取“1”,表示DDS实例默认启用SSL连接。
    • 不传该参数时,默认不启用SSL连接。
    表3 datastore字段数据结构说明

    名称

    是否必选

    参数类型

    描述

    type

    String

    数据库版本类型。取值为“DDS-Community”。

    version

    String

    数据库版本。支持3.4、3.2版本,取值为“3.4”、“3.2”。

    storage_engine

    String

    存储引擎。支持WiredTiger存储引擎,取值为“wiredTiger”。

    表4 flavor字段数据结构说明

    名称

    是否必选

    参数类型

    描述

    type

    String

    节点类型。

    取值:

    • 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
    • 副本集实例下该参数取值为“replica”。

    num

    Integer

    节点数量。

    取值:

    • “mongos”类型的节点数量可取2~32。
    • “mongos”类型的节点数量可取2~32。
    • “config”类型的组数量只能取1。
    • “replica”类型的组数量只能取1。

    storage

    对于除mongos外的其他节点,该参数可选。mongos节点下,该参数无意义。

    String

    磁盘类型。

    取值:ULTRAHIGH,表示SSD。

    对于集群实例的shard和config节点,以及副本集实例,该参数有效。mongos节点不涉及选择磁盘,该参数无意义。

    size

    对于除mongos外的其他节点,该参数必选。mongos节点下,该参数无意义。

    Integer

    磁盘大小。

    取值:必须为10的整数倍。单位为GB。

    • 对于集群实例,shard组可取10GB~2000GB,config组仅可取20GB。mongos节点不涉及选择磁盘,该参数无意义。
    • 对于副本集实例,可取10GB~2000GB。

    spec_code

    String

    资源规格编码。获取方法请参见查询所有实例规格信息中响应参数“spec_code”的值。

    集群实例下,需要指定多个规格,要求所有规格的系列一致,均为通用型(s6)、增强型(c3)、或增强Ⅱ型(c6)。

    表5 backup_strategy字段数据结构说明

    名称

    是否必选

    参数类型

    描述

    start_time

    String

    备份时间段。自动备份将在该时间段内触发。

    取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。

    • HH取值必须比hh大1。
    • mm和MM取值必须相同,且取值必须为00。

    取值示例:

    23:00-00:00

    keep_days

    String

    指定已生成的备份文件可以保存的天数。

    取值范围:0~732。

    • 取0值,表示不设置自动备份策略。
    • 不传该参数,默认开启自动备份策略,备份文件默认保存7天。

请求体样例中参数“region”和“availability_zone”的值为示例值。

  • 请求头
    POST https://DDS的Endpoint/v3/{project_id}/instances
  • 请求体样例
    创建集群实例:
    {
      "name": "test-cluster-01",
      "datastore": {
        "type": "DDS-Community",
        "version": "3.4",
        "storage_engine": "wiredTiger"
      },
      "region": "aaa",
      "availability_zone": "bbb",
      "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
      "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password": "Test#%0_",
      "mode": "Sharding",
      "flavor": [
        {
          "type": "mongos",
          "num": 2,
          "spec_code": "dds.c3.medium.4.mongos"
        },
        {
          "type": "shard",
          "num": 2,
          "storage": "ULTRAHIGH",
          "size": 20,
          "spec_code": "dds.c3.medium.4.shard"
        },
        {
          "type": "config",
          "num": 1,
          "storage": "ULTRAHIGH",
          "size": 20,
          "spec_code": "dds.c3.large.2.config"
        }
      ],
      "backup_strategy": {
        "start_time": "23:00-00:00",
        "keep_days": "8"
      },
      "ssl_option":"1"
    }
    创建副本集实例:
    {
      "name": "test-replicaset",
      "datastore": {
        "type": "DDS-Community",
        "version": "3.4",
        "storage_engine": "wiredTiger"
      },
      "region": "aaa",
      "availability_zone": "bbb",
      "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
      "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password": "Test#%0_",
      "mode": "ReplicaSet",
      "flavor": [
        {
          "type": "replica",
          "num": 1,
          "storage": "ULTRAHIGH",
          "size": 30,
          "spec_code": "dds.s2.medium.4.shard"
        }
      ],
      "backup_strategy": {
        "start_time": "23:00-00:00",
        "keep_days": "8"
      },
      "ssl_option":"1"
    }

响应消息

  • 要素说明
    表6 要素说明

    名称

    参数类型

    描述

    id

    String

    实例ID。

    name

    String

    实例名称,与请求参数相同。

    datastore

    Object

    数据库信息,与请求参数相同。详情请参见表3

    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,与请求参数相同。

    mode

    String

    实例类型,与请求参数相同。

    flavor

    Array of objects

    实例规格详情,与请求参数相同。详情请参见表4

    backup_strategy

    Object

    高级备份策略,与请求参数相同。详情请参见表5

    enterprise_project_id

    String

    企业项目ID。取值为“0”,表示为default企业项目。

    ssl_option

    String

    SSL开关选项,与请求参数相同。

    job_id

    String

    创建实例的工作流ID。

响应样例中参数“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": "bbb",
        "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
        "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
        "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
     
        "mode": "Sharding",
        "flavor": [
            {
                "type": "mongos",
                "num": 2,
                "spec_code": "dds.c3.medium.4.mongos"
            },
            {
                "type": "shard",
                "num": 2,
                "spec_code": "dds.c3.medium.4.shard",
                "size": 20
            },
            {
                "type": "config",
                "num": 1,
                "spec_code": "dds.c3.large.2.config",
                "size": 20
            }
        ],
        "backup_strategy": {
            "start_time": "23:00-00:00",
            "keep_days": "8"
        },
        "enterprise_project_id": "",
        "ssl_option":"1",
        "job_id": "c010abd0-48cf-4fa8-8cbc-090f093eaa2f"
    }
    副本集实例:
    {
        "id": "46dfadfd2b674585a430217f23606cd7in02",
        "name": "test-replicaset",
        "datastore": {
            "type": "DDS-Community",
            "version": "3.4",
            "storage_engine": "wiredTiger"
        },
        "created": "2019-01-16 09:33:08",
        "status": "creating",
        "region": "aaa",
        "availability_zone": "bbb",
        "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
        "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007b",
        "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58",
        "mode": "ReplicaSet",
        "flavor": [
            {
                "type": "replica",
                "num": 1,
                "spec_code": "dds.s2.medium.4.shard",
                "size": 30
            }
        ],
        "backup_strategy": {
            "start_time": "23:00-00:00",
            "keep_days": "7"
        },
        "enterprise_project_id": "",
        "ssl_option":"1",
        "job_id": "2408417d-fd4b-40ae-bec6-e09ce594eb5f"
    }

状态码

详情请参见状态码

错误码

详情请参见错误码