创建实例
功能介绍
- 该接口支持创建一个数据库新实例。
- 该接口支持根据指定备份恢复数据到一个新创建的实例。
- 该接口支持恢复指定实例的指定时间点的数据到一个新创建的实例。
接口约束
该接口支持如下数据库实例:
- GeminiDB Cassandra
- GeminiDB Mongo
- GeminiDB Influx
- GeminiDB Redis
- GeminiDB HBase
- GeminiDB DynamoDB
该接口既支持包周期实例,也支持按需实例。
目前仅GeminiDB Cassandra和GeminiDB Influx集群支持恢复指定实例的指定时间点的数据到新建实例。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v3/{project_id}/instances
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 租户在某一region下的project ID。获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数解释: 实例名称,允许和已有名称重复。 约束限制: 实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。取值范围: 不涉及。 默认取值: 不涉及。 |
datastore |
是 |
Datastore object |
参数解释: 数据库信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
region |
是 |
String |
参数解释: 区域ID。 约束限制: 取值:非空,请参见地区和终端节点。 取值范围: 不涉及。 默认取值: 不涉及。 |
availability_zone |
是 |
String |
参数解释: 可用区ID。 约束限制: 不涉及。 取值范围: 请参见查询数据库规格中返回的“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 |
参数解释: 实例类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
product_type |
否 |
String |
参数解释: 产品类型。 约束限制: 当创建GeminiDB Redis云原生部署模式集群类型必传此参数。 取值范围:
默认取值: 不涉及。
说明:
该字段仅支持GeminiDB Redis云原生部署模式实例。 |
flavor |
是 |
Array of Flavor objects |
参数解释: 实例规格详情。 约束限制: 获取方法请参见查询数据库规格中响应“flavors”字段下参数的值。 取值范围: 不涉及。 默认取值: 不涉及。 |
configuration_id |
否 |
String |
参数解释: 参数模板ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
backup_strategy |
否 |
BackupStrategy object |
参数解释: 高级备份策略。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
enterprise_project_id |
否 |
String |
参数解释: 企业项目ID。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
ssl_option |
否 |
String |
参数解释: SSL开关选项。 约束限制: 不涉及。 取值范围:
默认取值: 不传该参数时,默认不启用SSL连接。 |
charge_info |
否 |
ChargeInfo object |
参数解释: 计费类型信息。 约束限制: 不涉及。 取值范围: 包年包月和按需计费。 默认取值: 按需计费。 |
dedicated_resource_id |
否 |
String |
参数解释: 专属资源ID。 约束限制: 只有开通专属资源池后才可以下发此参数。 取值范围: 不涉及。 默认取值: 不涉及。 |
restore_info |
否 |
RestoreInfo object |
参数解释: 备份信息。 约束限制: 支持按指定备份恢复和按指定实例的指定时间点恢复。 目前仅GeminiDB Cassandra和GeminiDB Influx集群支持按指定实例的指定时间点恢复。 取值范围: 不涉及。 默认取值: 不涉及。 |
port |
否 |
String |
参数解释: 数据库访问端口号。 约束限制: 目前仅支持GeminiDB Redis实例支持自定义端口。 不指定端口时,创建GeminiDB Redis实例的访问端口默认为6379。 如果该实例计划用于搭建双活容灾场景,请配置为8635端口。 取值范围: 取值范围为:1024~65535,禁用端口号为:2180、2887、3887、6377、6378、6380、8018、8079、8091、8479、8484、8999、9864、9866、9867、12017、12333、50069。 默认取值: 6379。 |
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时间。
取值范围: 不涉及。 默认取值: 默认的备份时间段为00:00-01:00。 |
keep_days |
否 |
String |
参数解释: 指定已生成的备份文件可以保存的天数。 约束限制: 不涉及。 取值范围: 0~35。
默认取值: 7。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
charge_mode |
是 |
String |
参数解释: 计费模式。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
period_type |
否 |
String |
参数解释: 订购周期类型。 约束限制: “charge_mode”为“prePaid”时生效,且为必选值。 取值范围:
默认取值: 不涉及。
说明:
“charge_mode”为“prePaid”时生效,且为必选值。 |
period_num |
否 |
String |
参数解释: 指定订购的时间。 约束限制: “charge_mode”为“prePaid”时生效,且为必选值。 取值范围:
默认取值: 不涉及。 |
is_auto_renew |
否 |
String |
参数解释: 创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 约束限制: 不涉及。 取值范围:
默认取值: false。 |
is_auto_pay |
否 |
String |
参数解释: 创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 约束限制: 不涉及。 取值范围:
默认取值: false。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
backup_id |
否 |
String |
参数解释: 全量备份文件ID。 约束限制: 用于根据指定备份恢复数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 取值范围: 不涉及。 默认取值: 不涉及。 |
source_instance_id |
否 |
String |
参数解释: 数据恢复参考的指定实例的ID。 约束限制: 用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 取值范围: 不涉及。 默认取值: 不涉及。 |
restore_time |
否 |
Long |
参数解释: 数据恢复的指定的时间点。 约束限制: 用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 取值范围: 取值为UTC 13位毫秒数,可通过查询实例可恢复的时间段接口进行查询。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
primary_availability_zone |
是 |
String |
参数解释: 主可用区,应为单可用区且和备可用区不同。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
secondary_availability_zone |
是 |
String |
参数解释: 备可用区,应为单可用区且和主可用区不同。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
enabled |
是 |
Boolean |
参数解释: 不涉及。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
type |
是 |
String |
参数解释: 黑白名单类型。 约束限制: 仅支持设置黑名单或白名单中的一种,当配置切换时,原配置会失效。 取值范围:
默认取值: 不涉及。 |
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 } }
状态码
请参见状态码。
错误码
请参见错误码。