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

创建数据库实例

功能介绍

创建云数据库 GaussDB(for MySQL)实例。

URI

POST /v3/{project_id}/instances

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的project ID。

获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取。

请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

X-Language

String

请求语言类型。默认en-us。

取值范围:

  • en-us
  • zh-cn
表3 请求Body参数

参数

是否必选

参数类型

描述

region

String

区域ID。

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

name

String

实例名称。

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

取值范围:最小为4个字符,最大为64个字符且不超过64个字节(注意:一个中文字符占用3个字节),必须以字母或中文开头,区分大小写,可以包含字母、数字、中划线、下划线或中文,不能包含其他特殊字符。

datastore

MysqlDatastoreInReq object

数据库信息。

mode

String

实例类型,目前仅支持Cluster。

flavor_ref

String

规格码。使用可参考查询数据库规格响应消息表5中的“spec_code”。

vpc_id

String

虚拟私有云ID,获取方法如下:

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

subnet_id

String

子网的网络ID信息,获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
  • 方法2:获取方法请参见《虚拟私有云API参考》中“查询子网列表”的内容。

password

String

数据库密码。 取值范围:至少包含以下字符的三种:大小写字母、数字和特殊符号~!@#$%^*-_=+?,()&,长度8~32个字符。

建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。如果您输入弱密码,系统会自动判定密码非法。

availability_zone_mode

String

可用区类型。

取值范围:

  • single:单可用区。
  • multi:多可用区。

slave_count

Integer

只读节点个数。单次接口调用最多支持创建9个只读节点。

charge_info

MysqlChargeInfo object

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

说明:

DeC专属云账号不支持创建包年/包月实例。

security_group_id

String

安全组ID。

如果开启网络ACL开关,则该参数不可选。如果未开启,则该参数必选。

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

configuration_id

String

参数模板ID。使用可参考查询参数模板中响应消息表5的“id”。

backup_strategy

MysqlBackupStrategy object

自动备份策略。

time_zone

String

时区。默认时区为UTC。

master_availability_zone

String

主可用区ID。

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

volume

MysqlVolume object

volume信息。创建包年/包月实例可选。创建按需实例时不可选。

tags

Array of MysqlTags objects

标签列表,根据标签键值对创建实例。

  • {key}表示标签键,不可以为空或重复。
  • {value}表示标签值,可以为空。

如果创建实例时同时使用多个标签键值对,中间使用逗号分隔开,最多包含10组。

lower_case_table_names

Integer

表名大小写是否敏感,默认值是“1”。

取值范围:

  • 0:表名被存储成固定且表名称大小写敏感。
  • 1:表名将被存储成小写且表名称大小写不敏感。

enterprise_project_id

String

企业项目ID。如果账户开通企业项目服务则该参数必选,未开启该参数不可选。

dedicated_resource_id

String

专属资源池ID,只有开通专属资源池后才支持此参数。

restore_point

MysqlRestorePoint object

备份恢复信息。

tde_info

MysqlTdeInfo object

透明数据加密配置信息,支持AES256、SM4加密算法。

透明加密功能目前处于公测阶段,如需使用,请提交工单联系客服人员申请权限。

表4 MysqlDatastoreInReq

参数

是否必选

参数类型

描述

type

String

数据库引擎,仅支持gaussdb-mysql。

version

String

数据库版本。

两位数的大版本号,获取方法请参见查询数据库引擎的版本返回的name字段。

kernel_version

String

内核数据库版本。如果需要指定具体的内核版本,请联系客服人员添加白名单。

完整的4位内核数据库版本,获取方法请参见查询数据库引擎的版本返回的kernel_version字段。

表5 MysqlChargeInfo

参数

是否必选

参数类型

说明

charge_mode

String

计费模式。

取值范围:

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

枚举值:

  • prePaid
  • postPaid

period_type

String

订购周期类型。

取值范围:

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

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

枚举值:

  • month
  • year

period_num

Integer

“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,为手动支付,默认该方式。
表6 MysqlBackupStrategy

参数

是否必选

参数类型

描述

start_time

String

自动备份开始时间段。自动备份将在该时间一个小时内触发。

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

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

取值示例:

21:00-22:00

keep_days

String

自动备份保留天数。

取值范围:1-732。

表7 MysqlVolume

参数

是否必选

参数类型

描述

size

String

磁盘大小。默认值为10,单位GB。

取值范围:10~128000,必须为10的整数倍。

表8 MysqlTags

参数

是否必选

参数类型

描述

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)。

表9 MysqlRestorePoint

参数

是否必选

参数类型

描述

source_instance_id

String

源实例ID。

restore_time

Long

恢复数据的时间点。

backup_id

String

备份文件ID。

type

String

备份类型。当参数为空时,backup_id不能为空,即默认按备份文件恢复。 当参数不为空时,取值范围:

  • backup:表示按备份文件恢复。
  • timestamp:表示按时间点恢复。
表10 MysqlTdeInfo

参数

是否必选

参数类型

描述

enable_tde

Boolean

是否打开透明加密功能。

encryption_type

String

透明加密算法,支持AES256、SM4加密算法。

响应参数

状态码: 201

表11 响应Body参数

参数

参数类型

描述

instance

MysqlInstanceResponse object

实例信息。

job_id

String

实例创建的任务ID。

仅创建按需实例时会返回该参数。

order_id

String

订单号,创建包年包月时返回该参数。

表12 MysqlInstanceResponse

参数

参数类型

描述

id

String

实例ID,严格匹配UUID规则。

name

String

实例名称。用于表示实例的名称。

status

String

实例状态。

datastore

MysqlDatastore object

数据库信息。

mode

String

实例类型,仅支持Cluster。

configuration_id

String

参数组ID。

port

String

数据库端口信息。

backup_strategy

MysqlBackupStrategy object

自动备份策略

enterprise_project_id

String

企业项目ID。

region

String

区域ID,与请求参数相同。

availability_zone_mode

String

可用区模式,与请求参数相同。

master_availability_zone

String

主可用区ID。

vpc_id

String

虚拟私有云ID,与请求参数相同。

security_group_id

String

安全组ID,与请求参数相同。

subnet_id

String

子网ID,与请求参数相同。

flavor_ref

String

规格码,与请求参数相同。

charge_info

MysqlChargeInfo object

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

volume

MysqlVolumeResp object

volume信息。创建包年/包月实例有返回。

表13 MysqlDatastore

参数

参数类型

描述

type

String

数据库引擎,仅支持gaussdb-mysql。

version

String

数据库版本。

两位数的大版本号,获取方法请参见查询数据库引擎的版本返回的name字段。

kernel_version

String

内核数据库版本。

完整的4位内核数据库版本,获取方法请参见查询数据库引擎的版本返回的kernel_version字段。

表14 MysqlBackupStrategy

参数

参数类型

描述

start_time

String

自动备份开始时间段。自动备份将在该时间一个小时内触发。

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

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

keep_days

String

自动备份保留天数,取值范围:1-732

表15 MysqlChargeInfo

参数

参数类型

描述

charge_mode

String

计费模式。

取值范围:

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

枚举值:

  • prePaid
  • postPaid

period_type

String

订购周期类型。

取值范围:

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

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

枚举值:

  • month
  • year

period_num

Integer

“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,为手动支付。
表16 MysqlVolumeResp

参数

参数类型

描述

size

Integer

磁盘大小。单位GB。

取值范围:10~128000,为10的整数倍。

状态码: 400

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误消息。

状态码: 500

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误消息。

请求示例

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

  • 创建计费模式为按需计费,自动备份开始时间是08:00-09:00的实例。
    POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances
    {
      "name" : "gaussdb-mysql-instance1",
      "region" : "br-iaas-odin1",
      "charge_info" : {
        "charge_mode" : "postPaid"
      },
      "datastore" : {
        "type" : "gaussdb-mysql",
        "version" : "8.0"
      },
      "mode" : "Cluster",
      "flavor_ref" : "gaussdb.mysql.xlarge.arm.4",
      "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58",
      "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad",
      "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55",
      "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07",
      "password" : "*****",
      "backup_strategy" : {
        "start_time" : "08:00-09:00"
      },
      "availability_zone_mode" : "single",
      "slave_count" : 1,
      "enterprise_project_id" : 0
    }
  • 将备份文件恢复到按需计费的新实例
    POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances
    {
      "name" : "gaussdb-mysql-instance2",
      "region" : "br-iaas-odin1",
      "charge_info" : {
        "charge_mode" : "postPaid"
      },
      "datastore" : {
        "type" : "gaussdb-mysql",
        "version" : "8.0"
      },
      "mode" : "Cluster",
      "flavor_ref" : "gaussdb.mysql.xlarge.arm.4",
      "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58",
      "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad",
      "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55",
      "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07",
      "password" : "****",
      "backup_strategy" : {
        "start_time" : "08:00-09:00"
      },
      "availability_zone_mode" : "single",
      "slave_count" : 1,
      "enterprise_project_id" : 0,
       "restore_point" : { 
         "source_instance_id" : "7033e7c3cf93438797d44ad7ae0a7d95in07", 
         "backup_id" : "7ffbf305376b4cbea0ae491257b6aaf9br07", 
         "type" : "backup" 
       } 
    }
  • 按时间点恢复到按需计费的新实例
    POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances
    {
      "name" : "gaussdb-mysql-instance3",
      "region" : "br-iaas-odin1",
      "charge_info" : {
        "charge_mode" : "postPaid"
      },
      "datastore" : {
        "type" : "gaussdb-mysql",
        "version" : "8.0"
      },
      "mode" : "Cluster",
      "flavor_ref" : "gaussdb.mysql.xlarge.arm.4",
      "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58",
      "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad",
      "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55",
      "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07",
      "password" : "xxxxx",
      "backup_strategy" : {
        "start_time" : "08:00-09:00"
      },
      "availability_zone_mode" : "single",
      "slave_count" : 1,
      "enterprise_project_id" : 0,
       "restore_point" : { 
         "source_instance_id" : "7033e7c3cf93438797d44ad7ae0a7d95in07", 
         "restore_time" : 1673852043000, 
         "type" : "timestamp"
       } 
    }

响应示例

状态码: 201

响应样例中参数“region”和“master_availability_zone”的值为示例值。

Success.

{
  "instance" : {
    "id" : "5eebbb4c0f9f4a99b42ed1b6334569aain07",
    "name" : "gaussdb-mysql-instance1",
    "status" : "BUILD",
    "region" : "br-iaas-odin1",
    "charge_info" : {
      "charge_mode" : "postPaid"
    },
    "datastore" : {
      "type" : "gaussdb-mysql",
      "version" : "8.0"
    },
    "mode" : "Cluster",
    "port" : "3306",
    "enterprise_project_id" : 0,
    "flavor_ref" : "gaussdb.mysql.xlarge.arm.4",
    "vpc_id" : "3cedfc54-b105-4652-a4e0-847b11576b58",
    "subnet_id" : "c1cfa53c-65d3-431e-8552-326bf310c7ad",
    "security_group_id" : "fc577a1a-f202-424a-977f-24faec3fdd55",
    "configuration_id" : "43570e0de32e40c5a15f831aa5ce4176pr07",
    "backup_strategy" : {
      "start_time" : "08:00-09:00",
      "keep_days" : 7
    },
    "availability_zone_mode" : "single"
  },
  "job_id" : "dff1d289-4d03-4942-8b9f-463ea07c000d"
}

状态码

请参见状态码

错误码

请参见错误码