更新时间:2024-09-27 GMT+08:00
分享

创建实例

功能介绍

  • 该接口支持创建一个数据库新实例。
  • 该接口支持根据指定备份恢复数据到一个新创建的实例。
  • 该接口支持恢复指定实例的指定时间点的数据到一个新创建的实例。

接口约束

该接口支持如下数据库实例:

  • GeminiDB Cassandra
  • GeminiDB Mongo
  • GeminiDB Influx
  • GeminiDB Redis

该接口既支持包周期实例,也支持按需实例。

目前仅GeminiDB CassandraGeminiDB Influx集群支持恢复指定实例的指定时间点的数据到新建实例。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一region下的project ID。获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

实例名称,允许和已有名称重复。

实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。

datastore

Datastore object

数据库信息。

region

String

区域ID。

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

availability_zone

String

可用区ID。

取值:请参见5.2.2-查询数据库规格中返回的“az_status”,支持创建3可用区实例,中间以逗号隔开。

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)、特殊字符~!@#%^*-_=+?的组合。仅GeminiDB Redis至少包含以下字符中的2种:大写字母、小写字母、数字和特殊字符~!@#$%^&*()-_=+?。

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

mode

String

实例类型。

  • GeminiDB Cassandra支持集群类型,取值为“Cluster”。
  • GeminiDB Mongo 4.0版本支持副本集类型,取值为“ReplicaSet”。
  • GeminiDB Influx支持集群类型,取值为“Cluster”。
  • GeminiDB Influx支持单节点类型,取值为“InfluxdbSingle”。
  • GeminiDB Redis支持集群类型,取值为“Cluster”。
  • GeminiDB Redis支持主备类型,取值为“Replication”。

flavor

Array of Flavor objects

实例规格详情。

获取方法请参见查询数据库规格中响应“flavors”字段下参数的值。

configuration_id

String

参数模板ID。

backup_strategy

BackupStrategy object

高级备份策略。

enterprise_project_id

String

企业项目ID。

  • 对于未开通企业多项目服务的用户,不传该参数。
  • 对于已开通企业多项目服务的用户,不传该参数时,表示为default企业项目。获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。

ssl_option

String

SSL开关选项。

取值:

  • 取“0”,表示默认不启用SSL连接。
  • 取“1”,表示默认启用SSL连接。
  • 不传该参数时,默认不启用SSL连接。

charge_info

ChargeInfo object

计费类型信息,支持包年包月和按需计费,默认为按需计费。

dedicated_resource_id

String

专属资源ID,只有开通专属资源池后才可以下发此参数。

restore_info

RestoreInfo object

备份信息。支持按指定备份恢复和按指定实例的指定时间点恢复。

目前仅GeminiDB CassandraGeminiDB Influx集群支持按指定实例的指定时间点恢复。

port

String

数据库访问端口号。

目前仅支持GeminiDB Redis实例支持自定义端口,取值范围为:1024~65535,禁用端口号为:2180、2887、3887、6377、6378、6380、8018、8079、8091、8479、8484、8999、9864、9866、9867、12017、12333、50069。

不指定端口时,创建GeminiDB Redis实例的访问端口默认为6379。

如果该实例计划用于搭建双活容灾场景,请配置为8635端口。

availability_zone_detail

object

主备类型实例的多AZ可用区详情。

目前仅支持GeminiDB Redis实例。

当选择单AZ部署时,自动忽略该参数设置。详情请参考表9

表4 Datastore

参数

是否必选

参数类型

描述

type

String

数据库类型。

  • 支持GeminiDB CassandraGeminiDB MongoGeminiDB InfluxGeminiDB Redis数据库实例。
  • 取值为“cassandra”,表示创建GeminiDB Cassandra数据库实例。
  • 取值为“mongodb”,表示创建GeminiDB Mongo数据库实例。
  • 取值为“influxdb”,表示创建GeminiDB Influx数据库实例。
  • 取值为“redis”,表示创建GeminiDB Redis数据库实例。

version

String

数据库版本。

  • GeminiDB Cassandra实例支持3.11版本,取值为“3.11”。
  • GeminiDB Mongo实例支持4.0版本,取值为“4.0”。
  • GeminiDB Influx实例支持1.7版本,取值为“1.7”。
  • GeminiDB Redis实例支持5.0版本,取值为“5.0”。

storage_engine

String

存储引擎。

  • GeminiDB Cassandra实例支持RocksDB存储引擎,取值为“rocksDB”。
  • GeminiDB Mongo实例支持RocksDB存储引擎,取值为“rocksDB”。
  • GeminiDB Influx实例支持RocksDB存储引擎,取值为“rocksDB”。
  • GeminiDB Redis实例支持RocksDB存储引擎,取值为“rocksDB”。
表5 Flavor

参数

是否必选

参数类型

描述

num

String

节点数量。

  • GeminiDB Cassandra实例的节点数量可取3~60。
  • GeminiDB Mongo 4.0版本副本集实例的节点数量为3。
  • GeminiDB Influx集群实例的节点数量可取3~16。
  • GeminiDB Influx单节点实例的节点数量可取1。
  • GeminiDB Redis实例的节点数量可取3~12。

size

String

磁盘大小。必须为整数,单位为GB。

GeminiDB CassandraGeminiDB MongoGeminiDB Influx的最小磁盘容量100GB,最大磁盘容量与实例的性能规格有关。GeminiDB Redis的最大和最小磁盘容量与节点数和实例的性能规格有关。

storage

String

磁盘类型。

取值为“ULTRAHIGH”,表示SSD盘。

spec_code

String

资源规格编码。

获取方法请参见查询数据库规格中响应参数“spec_code”的值。

表6 BackupStrategy

参数

是否必选

参数类型

描述

start_time

String

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

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

  • HH取值必须比hh大1。
  • mm和MM取值必须相同,且取值必须为00、15、30或45。
  • 不传该参数,默认的备份时间段为00:00-01:00。
  • 取值示例:23:00-00:00

keep_days

String

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

取值范围:0~35。

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

参数

是否必选

参数类型

描述

charge_mode

String

计费模式。

取值范围:

  • prePaid:预付费,即包年/包月。
  • postPaid:后付费,即按需付费。

period_type

String

订购周期类型。

取值范围:

  • month:包月。
  • year:包年。
说明:

“charge_mode”为“prePaid”时生效,且为必选值。

period_num

String

“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。

取值范围:

  • 当“period_type”为“month”时,取值为1~9。
  • 当“period_type”为“year”时,取值为1~3

is_auto_renew

String

创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。

  • true,表示自动续订。
  • false,表示不自动续订,默认为该方式。

is_auto_pay

String

创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。

  • true,表示自动从账户中支付
  • false,表示手动从账户中支付,默认为该支付方式。
表8 RestoreInfo

参数

是否必选

参数类型

描述

backup_id

String

全量备份文件ID。

用于根据指定备份恢复数据到一个新创建的实例的场景,此场景下该字段取值不能为空。

source_instance_id

String

数据恢复参考的指定实例的ID。

用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。

restore_time

Long

数据恢复的指定的时间点。

用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。取值为UTC 13位毫秒数,可通过查询实例可恢复的时间段接口进行查询。

表9 AvailabilityZoneDetail

参数

是否必选

参数类型

描述

primary_availability_zone

String

主可用区,应为单可用区且和备可用区不同。

secondary_availability_zone

String

备可用区,应为单可用区且和主可用区不同。

表10 LbAccessControlSettings

参数

是否必选

参数类型

描述

enabled

Boolean

true 开启,false 关闭。

枚举值:

  • true
  • false

type

String

黑白名单类型,blackList黑名单,whiteList白名单,仅支持设置黑名单或白名单中的一种。

枚举值:

  • blackList
  • whiteList

ip_groups

Array of 表11 objects

IP地址组中包含的IP或网段列表。

表11 IpGroupsDetail

参数

是否必选

参数类型

描述

ip

String

IP地址或网段。支持IPv4。

description

String

备注信息,最大长度255个字符。

响应参数

状态码: 202

表12 响应Body参数

参数

参数类型

描述

id

String

实例ID。

name

String

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

datastore

Datastore object

数据库信息,与请求参数相同。

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 Flavor objects

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

backup_strategy

BackupStrategy object

高级备份策略,与请求参数相同。

enterprise_project_id

String

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

ssl_option

String

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

job_id

String

创建实例的工作流ID, 仅创建按需实例时会返回该参数。

order_id

String

创建实例的订单ID,仅创建包年包月时返回该参数。

charge_info

ChargeInfo object

计费类型信息,支持包年包月和按需计费,默认为按需计费。

dedicated_resource_id

String

专属资源ID,只有创建在专属资源上的实例才会返回该字段。

表13 Datastore

参数

参数类型

描述

type

String

数据库类型。

  • 支持GeminiDB CassandraGeminiDB MongoGeminiDB InfluxGeminiDB Redis数据库实例。
  • 取值为“cassandra”,表示创建GeminiDB Cassandra数据库实例。
  • 取值为“mongodb”,表示创建GeminiDB Mongo数据库实例。
  • 取值为“influxdb”,表示创建GeminiDB Influx数据库实例。
  • 取值为“redis”,表示创建GeminiDB Redis数据库实例。

version

String

数据库版本。

  • GeminiDB Cassandra实例支持3.11版本,取值为“3.11”。
  • GeminiDB Mongo实例支持4.0版本,取值为“4.0”。
  • GeminiDB Influx实例支持1.7版本,取值为“1.7”。
  • GeminiDB Redis实例支持5.0版本,取值为“5.0”。

storage_engine

String

存储引擎。

  • GeminiDB Cassandra实例支持RocksDB存储引擎,取值为“rocksDB”。
  • GeminiDB Mongo实例支持RocksDB存储引擎,取值为“rocksDB”。
  • GeminiDB Influx实例支持RocksDB存储引擎,取值为“rocksDB”。
  • GeminiDB Redis实例支持RocksDB存储引擎,取值为“rocksDB”。
表14 Flavor

参数

参数类型

描述

num

String

节点数量。

  • GeminiDB Cassandra实例的节点数量可取3~60。
  • GeminiDB Mongo 4.0版本副本集实例的节点数量为3。
  • GeminiDB Influx实例的节点数量可取3~16。
  • GeminiDB Redis实例的节点数量可取3~12。

size

String

磁盘大小。必须为整数,单位为GB。

GeminiDB CassandraGeminiDB MongoGeminiDB Influx的最小磁盘容量100GB,最大磁盘容量与实例的性能规格有关。GeminiDB Redis的最大和最小磁盘容量与节点数和实例的性能规格有关。

storage

String

磁盘类型。

取值为“ULTRAHIGH”,表示SSD盘。

spec_code

String

资源规格编码。

获取方法请参见查询数据库规格中响应参数“spec_code”的值。

表15 BackupStrategy

参数

参数类型

描述

start_time

String

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

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

  • HH取值必须比hh大1。
  • mm和MM取值必须相同,且取值必须为00、15、30或45。
  • 不传该参数,默认的备份时间段为00:00-01:00。
  • 取值示例:23:00-00:00

keep_days

String

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

取值范围:0~35。

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

参数

参数类型

描述

charge_mode

String

计费模式。

取值范围:

  • prePaid:预付费,即包年/包月。
  • postPaid:后付费,即按需付费。

period_type

String

订购周期类型。

取值范围:

  • month:包月。
  • year:包年。
说明:

“charge_mode”为“prePaid”时生效,且为必选值。

period_num

String

“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。

取值范围:

  • 当“period_type”为“month”时,取值为1~9。
  • 当“period_type”为“year”时,取值为1~3

is_auto_renew

String

创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。

  • true,表示自动续订。
  • false,表示不自动续订,默认为该方式。

is_auto_pay

String

创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。

  • true,表示自动从账户中支付
  • false,表示手动从账户中支付,默认为该支付方式。

请求示例

  • URI样例
    POST https://{Endpoint}/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances
  • 创建一个按需付费的3节点Cassandra实例,规格是16U64G

    请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。

    {
      "name" : "test-cassandra-01",
      "datastore" : {
        "type" : "cassandra",
        "version" : "3.11",
        "storage_engine" : "rocksDB"
      },
      "region" : "aaa",
      "availability_zone" : "bbb",
      "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007",
      "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password" : "******",
      "mode" : "Cluster",
      "flavor" : [ {
        "num" : 3,
        "storage" : "ULTRAHIGH",
        "size" : 500,
        "spec_code" : "geminidb.cassandra.4xlarge.4"
      } ],
      "backup_strategy" : {
        "start_time" : "08:15-09:15",
        "keep_days" : 8
      },
      "ssl_option" : 1
    }
  • 创建一个包周期付费的3节点Cassandra实例,规格是16U64G

    请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。

    {
      "name" : "test-cassandra-01",
      "datastore" : {
        "type" : "cassandra",
        "version" : "3.11",
        "storage_engine" : "rocksDB"
      },
      "region" : "aaa",
      "availability_zone" : "bbb",
      "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961",
      "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007",
      "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58",
      "password" : "******",
      "mode" : "Cluster",
      "flavor" : [ {
        "num" : 3,
        "storage" : "ULTRAHIGH",
        "size" : 500,
        "spec_code" : "geminidb.cassandra.4xlarge.4"
      } ],
      "backup_strategy" : {
        "start_time" : "08:15-09:15",
        "keep_days" : 8
      },
      "ssl_option" : 1,
      "charge_info" : {
        "charge_mode" : "prePaid",
        "period_type" : "year",
        "period_num" : 3,
        "is_auto_renew" : true,
        "is_auto_pay" : true
      }
    }
  • 根据指定备份恢复数据创建一个新的按需付费的3节点16U64G的Cassandra实例

    请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。

    { 
       "name" : "test-cassandra-01", 
       "datastore" : { 
         "type" : "cassandra", 
         "version" : "3.11", 
         "storage_engine" : "rocksDB" 
       }, 
       "region" : "aaa", 
       "availability_zone" : "bbb", 
       "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", 
       "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", 
       "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", 
       "password" : "******", 
       "mode" : "Cluster", 
       "flavor" : [ { 
         "num" : 3, 
         "storage" : "ULTRAHIGH", 
         "size" : 500, 
         "spec_code" : "geminidb.cassandra.4xlarge.4" 
       } ], 
       "backup_strategy" : { 
         "start_time" : "08:15-09:15", 
         "keep_days" : 8 
       }, 
       "ssl_option" : 1, 
       "restore_info" : { 
         "backup_id" : "2f4ddb93b9014b0893d81d2e472f30fe"
       } 
     }
  • 根据指定实例的指定时间点的数据创建一个新的包周期付费的3节点16U64G的Cassandra实例

    请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。

    { 
       "name" : "test-cassandra-01", 
       "datastore" : { 
         "type" : "cassandra", 
         "version" : "3.11", 
         "storage_engine" : "rocksDB" 
       }, 
       "region" : "aaa", 
       "availability_zone" : "bbb", 
       "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", 
       "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", 
       "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", 
       "password" : "******", 
       "mode" : "Cluster", 
       "flavor" : [ { 
         "num" : 3, 
         "storage" : "ULTRAHIGH", 
         "size" : 500, 
         "spec_code" : "geminidb.cassandra.4xlarge.4" 
       } ], 
       "backup_strategy" : { 
         "start_time" : "08:15-09:15", 
         "keep_days" : 8 
       }, 
       "ssl_option" : 1, 
       "charge_info" : { 
         "charge_mode" : "prePaid", 
         "period_type" : "year", 
         "period_num" : 3, 
         "is_auto_renew" : true, 
         "is_auto_pay" : true 
       }, 
       "restore_info" : { 
         "restore_time" : 1607731200000, 
         "source_instance_id" : "054e292c9880d4992f02c0196d3ein12" 
       } 
     }

响应示例

状态码: 202

Accepted

创建按需实例响应样例:

{
  "id" : "39b6a1a278844ac48119d86512e0000bin06",
  "name" : "test-cassandra-01",
  "datastore" : {
    "type" : "cassandra",
    "version" : "3.11",
    "storage_engine" : "rocksDB"
  },
  "created" : "2019-10-28 14:10:54",
  "status" : "creating",
  "region" : "aaa",
  "availability_zone" : "bbb,ccc,ddd",
  "vpc_id" : "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
  "subnet_id" : "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
  "security_group_id" : "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
  "mode" : "Cluster",
  "flavor" : [ {
    "num" : 3,
    "size" : 500,
    "storage" : "ULTRAHIGH",
    "spec_code" : "geminidb.cassandra.4xlarge.4"
  } ],
  "backup_strategy" : {
    "start_time" : "08:15-09:15",
    "keep_days" : "8"
  },
  "enterprise_project_id" : "0",
  "ssl_option" : "1",
  "job_id" : "c010abd0-48cf-4fa8-8cbc-090f093eaa2f"
}

创建包周期实例响应样例:

{
  "id" : "39b6a1a278844ac48119d86512e0000bin06",
  "name" : "test-cassandra-01",
  "datastore" : {
    "type" : "cassandra",
    "version" : "3.11",
    "storage_engine" : "rocksDB"
  },
  "created" : "2019-10-28 14:10:54",
  "status" : "creating",
  "region" : "aaa",
  "availability_zone" : "bbb,ccc,ddd",
  "vpc_id" : "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
  "subnet_id" : "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
  "security_group_id" : "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
  "mode" : "Cluster",
  "flavor" : [ {
    "num" : 3,
    "size" : 500,
    "storage" : "ULTRAHIGH",
    "spec_code" : "geminidb.cassandra.4xlarge.4"
  } ],
  "backup_strategy" : {
    "start_time" : "08:15-09:15",
    "keep_days" : "8"
  },
  "enterprise_project_id" : "0",
  "ssl_option" : "1",
  "charge_info" : {
    "charge_mode" : "prePaid",
    "period_type" : "year",
    "period_num" : 3,
    "is_auto_renew" : true,
    "is_auto_pay" : true
  }
}

状态码

请参见状态码

错误码

请参见错误码

相关文档