创建实例
功能介绍
- 该接口支持创建一个数据库新实例。
- 该接口支持根据指定备份恢复数据到一个新创建的实例。
- 该接口支持恢复指定实例的指定时间点的数据到一个新创建的实例。
接口约束
该接口支持如下数据库实例:
- GeminiDB Cassandra
- GeminiDB Mongo
- GeminiDB Influx
- GeminiDB Redis
该接口既支持包周期实例,也支持按需实例。
目前仅GeminiDB Cassandra和GeminiDB Influx集群支持恢复指定实例的指定时间点的数据到新建实例。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST https://{Endpoint}/v3/{project_id}/instances
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
租户在某一region下的project ID。获取方法请参见获取项目ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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,获取方法如下:
|
subnet_id |
是 |
String |
子网的网络ID,获取方法如下:
|
security_group_id |
是 |
String |
安全组ID,获取方法如下:
|
password |
是 |
String |
数据库密码。 取值范围:长度为8~32位。必须是大写字母(A~Z)、小写字母(a~z)、数字(0~9)、特殊字符~!@#%^*-_=+?的组合。仅GeminiDB Redis至少包含以下字符中的2种:大写字母、小写字母、数字和特殊字符~!@#$%^&*()-_=+?。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。 |
mode |
是 |
String |
实例类型。
|
flavor |
是 |
Array of Flavor objects |
实例规格详情。 获取方法请参见查询数据库规格中响应“flavors”字段下参数的值。 |
configuration_id |
否 |
String |
参数模板ID。 |
backup_strategy |
否 |
BackupStrategy object |
高级备份策略。 |
enterprise_project_id |
否 |
String |
企业项目ID。
|
ssl_option |
否 |
String |
SSL开关选项。 取值:
|
charge_info |
否 |
ChargeInfo object |
计费类型信息,支持包年包月和按需计费,默认为按需计费。 |
dedicated_resource_id |
否 |
String |
专属资源ID,只有开通专属资源池后才可以下发此参数。 |
restore_info |
否 |
RestoreInfo object |
备份信息。支持按指定备份恢复和按指定实例的指定时间点恢复。 目前仅GeminiDB Cassandra和GeminiDB 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。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
数据库类型。
|
version |
是 |
String |
数据库版本。
|
storage_engine |
是 |
String |
存储引擎。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
num |
是 |
String |
节点数量。
|
size |
是 |
String |
磁盘大小。必须为整数,单位为GB。 GeminiDB Cassandra,GeminiDB Mongo,GeminiDB Influx的最小磁盘容量100GB,最大磁盘容量与实例的性能规格有关。GeminiDB Redis的最大和最小磁盘容量与节点数和实例的性能规格有关。 |
storage |
是 |
String |
磁盘类型。 取值为“ULTRAHIGH”,表示SSD盘。 |
spec_code |
是 |
String |
资源规格编码。 获取方法请参见查询数据库规格中响应参数“spec_code”的值。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
start_time |
是 |
String |
备份时间段。自动备份将在该时间段内触发。 取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。
|
keep_days |
否 |
String |
指定已生成的备份文件可以保存的天数。 取值范围:0~35。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
charge_mode |
是 |
String |
计费模式。 取值范围:
|
period_type |
否 |
String |
订购周期类型。 取值范围:
说明:
“charge_mode”为“prePaid”时生效,且为必选值。 |
period_num |
否 |
String |
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
|
is_auto_renew |
否 |
String |
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。
|
is_auto_pay |
否 |
String |
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
backup_id |
否 |
String |
全量备份文件ID。 用于根据指定备份恢复数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 |
source_instance_id |
否 |
String |
数据恢复参考的指定实例的ID。 用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 |
restore_time |
否 |
Long |
数据恢复的指定的时间点。 用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。取值为UTC 13位毫秒数,可通过查询实例可恢复的时间段接口进行查询。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
primary_availability_zone |
是 |
String |
主可用区,应为单可用区且和备可用区不同。 |
secondary_availability_zone |
是 |
String |
备可用区,应为单可用区且和主可用区不同。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
enabled |
是 |
Boolean |
true 开启,false 关闭。 枚举值:
|
type |
是 |
String |
黑白名单类型,blackList黑名单,whiteList白名单,仅支持设置黑名单或白名单中的一种。 枚举值:
|
ip_groups |
是 |
Array of 表11 objects |
IP地址组中包含的IP或网段列表。 |
响应参数
状态码: 202
参数 |
参数类型 |
描述 |
---|---|---|
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,只有创建在专属资源上的实例才会返回该字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
数据库类型。
|
version |
String |
数据库版本。
|
storage_engine |
String |
存储引擎。
|
参数 |
参数类型 |
描述 |
---|---|---|
num |
String |
节点数量。
|
size |
String |
磁盘大小。必须为整数,单位为GB。 GeminiDB Cassandra,GeminiDB Mongo,GeminiDB Influx的最小磁盘容量100GB,最大磁盘容量与实例的性能规格有关。GeminiDB Redis的最大和最小磁盘容量与节点数和实例的性能规格有关。 |
storage |
String |
磁盘类型。 取值为“ULTRAHIGH”,表示SSD盘。 |
spec_code |
String |
资源规格编码。 获取方法请参见查询数据库规格中响应参数“spec_code”的值。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_time |
String |
备份时间段。自动备份将在该时间段内触发。 取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。
|
keep_days |
String |
指定已生成的备份文件可以保存的天数。 取值范围:0~35。
|
参数 |
参数类型 |
描述 |
---|---|---|
charge_mode |
String |
计费模式。 取值范围:
|
period_type |
String |
订购周期类型。 取值范围:
说明:
“charge_mode”为“prePaid”时生效,且为必选值。 |
period_num |
String |
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
|
is_auto_renew |
String |
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。
|
is_auto_pay |
String |
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。
|
请求示例
- 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 } }
状态码
请参见状态码。
错误码
请参见错误码。