更新时间:2024-11-18 GMT+08:00

恢复到新实例

接口说明

根据备份恢复新实例。

约束说明

  • 该接口既支持恢复到包年包月实例,也支持按需实例。
  • 目标实例与源实例的数据库类型必须一致。
  • 根据时间点恢复到新实例目前有副本集实例和集群实例支持该功能。

URI

  • URI格式

    POST https://{Endpoint}/v3/{project_id}/instances

  • URI样例

    https://dds.ap-southeast-1.myhuaweicloud.com/v3/97b026aa9cc4417888c14c84a1ad9860/instances

表1 请求参数

名称

类型

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。

    取值:非空,请参见地区和终端节点

    vpc_id

    String

    虚拟私有云ID。

    获取方法请参见《虚拟私有云API参考》中“VPC”的内容。

    取值:非空,字符长度校验,严格UUID正则校验。

    subnet_id

    String

    子网ID。

    获取方法请参见《虚拟私有云API参考》中“子网”的内容。

    security_group_id

    String

    指定实例所属的安全组ID列表。

    • 如需开通DDS多安全组权限,您可以在管理控制台右上角,选择“工单 > 新建工单”,提交权限申请。
    • 最多支持添加10个安全组ID,安全组ID之间用英文逗号隔开。
    • 获取方法如下:
      • 获取方法请参见《虚拟私有云API参考》中“安全组”的内容。

    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

    获取方法请参见查询数据库规格中参数的值。

    backup_strategy

    Object

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

    enterprise_project_id

    String

    企业项目ID。

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

    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用户云服务器组关联的策略名称列表。取值包括:

    • 取“anti-affinity”,表示DDS实例开启反亲和部署,反亲和部署是出于高可用性考虑,将您的Primary、Secondary和Hidden节点分别创建在不同的物理机上。

    DEC用户不传该参数时,默认不开启反亲和部署。仅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”。
    • 单节点实例下该参数取值为“single”。

    枚举值:

    • mongos
    • shard
    • config
    • replica
    • single

    configuration_id

    String

    参数组id。

    表5 flavor字段数据结构说明

    名称

    参数类型

    是否必选

    描述

    type

    String

    节点类型。

    取值:

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

    num

    String

    节点数量。

    取值:

    • 集群实例下“mongos”类型的节点数量可取2~32。
    • “config”类型的组数量只能取1。
    • “replica”类型的组数量只能取1。
    • “single”类型的节点数量只能取1。

    storage

    String

    磁盘类型。

    取值:ULTRAHIGH,表示SSD。

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

    size

    String

    磁盘大小。

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

    • 对于集群实例,shard组可取10GB~2000GB,并且大于等于原实例的磁盘大小,config组仅可取20GB。mongos节点不涉及选择磁盘,该参数无意义。
    • 对于副本集实例,可取10GB~3000GB,并且大于等于原实例的磁盘大小。
    • 对于单节点实例,可取10GB~1000GB,并且大于等于原实例的磁盘大小。

    spec_code

    String

    资源规格编码。获取方法请参见查询数据库规格中参数“spec_code”的值。

    表6 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天。
    表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”的值为示例值。

请求示例

  • 集群根据备份文件恢复到新实例:
    {
      "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"
        }
      ]
    }
  • 副本集根据备份文件恢复到新实例:
    {
        "name": "test-replicaset",
        "datastore": {
          "type": "DDS-Community",
          "version": "3.4",
          "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.s2.medium.4.shard"
            }
        ],
        "backup_strategy": {
            "start_time": "08:15-09:15",
            "keep_days": "8"
        },
        "ssl_option": "1",
        "tags" : [{ 
           "key" : "dds001", 
           "value" : "dds001" 
        }]
    }
  • 单节点根据备份文件恢复到新实例:
    {
      "name": "test-singlenode",
      "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": "Single",
      "configurations": [
        {
          "type": "single",
          "configuration_id": "b8e962e66ede47609a94cba591735b49pr02"
        }
      ],
      "flavor": [
        {
          "type": "single",
          "num": "1",
          "storage": "ULTRAHIGH",
          "size": "30",
          "spec_code": "dds.mongodb.c6.medium.4.single"
        }
      ],
      "backup_strategy": {
        "start_time": "08:15-09:15",
        "keep_days": "8"
      },
      "ssl_option": "1",
      "tags" : [{ 
        "key" : "dds001", 
        "value" : "dds001" 
      }]
    }
  • 副本集根据时间点恢复到新实例:
    {
      "name": "replica-liuyunj1",
      "datastore": {
        "type": "DDS-Community",
        "version": "3.2",
        "storage_engine": "wiredTiger"
      },
      "region": "aaa",
      "availability_zone": "az1xahz",
      "vpc_id": "dcdadabc-efed-4518-8b34-4af66fcd97e7",
      "subnet_id": "4a9348f2-f232-4700-a440-2f1641d80960",
      "security_group_id": "c57b9db2-cccb-4c0d-b058-7ea51dda0c99",
      "mode": "ReplicaSet",
      "flavor": [
        {
          "type": "replica",
          "num": 1,
          "storage": "ULTRAHIGH",
          "size": 100,
          "spec_code": "dds.mongodb.c6.large.2.repset"
        }
      ],
      "backup_strategy": {
        "start_time": "08:00-09:00",
        "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

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

    backup_strategy

    Object

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

    enterprise_project_id

    String

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

    dss_pool_id

    String

    Dec用户专属存储ID。

    job_id

    String

    创建实例的工作流ID。

    ssl_option

    String

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

    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”。
    • 单节点实例下该参数取值为“single”。

    枚举值:

    • mongos
    • shard
    • config
    • replica
    • single

    configuration_id

    String

    参数组id。

    表12 flavor字段数据结构说明

    名称

    参数类型

    是否必选

    描述

    type

    String

    节点类型。

    取值:

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

    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。
    • type取值“single”,num表示单节点实例下节点的数量,只能取值1。

    storage

    String

    磁盘类型。

    size

    String

    磁盘大小。

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

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

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

    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不是同一规格系列。
    表13 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天。
    表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文档中对应语言类型的【使用】目录下。

状态码

详情请参见状态码

错误码

详情请参见错误码