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

创建数据库实例

功能介绍

创建FlexusRDS实例,可分为单机实例和主备实例。

本接口支持创建FlexusRDS实例时,在HTTP请求消息头中设置X-Client-Token请求头,保证请求幂等性。详细信息请参考请求幂等性说明

URI

  • URI格式

    POST /v3/{project_id}/instances

  • 参数说明
    表1 参数说明

    名称

    是否必选

    参数类型

    说明

    project_id

    String

    参数解释

    租户在某一Region下的项目ID。

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

    约束限制

    不涉及。

    取值范围

    不涉及。

    默认取值

    不涉及。

请求消息

表2 参数说明

名称

是否必选

参数类型

说明

name

String

参数解释

实例名称。

约束限制

同一租户下,同类型的实例名可重名。

取值范围

实例名称长度最小为4字符,最大为64个字符,如果名称包含中文,则不超过64字节(注意:一个中文字符占用3个字节),必须以字母或中文开头,区分大小写,可以包含字母、数字、中划线、下划线、英文句号或中文,不能包含其他特殊字符。

默认取值

不涉及。

datastore

Object

参数解释

数据库信息。

详情请参见表3

约束限制

不涉及。

flavor_ref

String

参数解释

规格码。

约束限制

不涉及。

取值范围

非空。参考查询数据库规格响应消息表3中的“spec_code”获取。

默认取值

不涉及。

volume

Object

参数解释:

实例存储信息。详情请参见表6

约束限制:

不涉及。

region

String

参数解释:

区域ID。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

availability_zone

String

参数解释:

可用区ID。

约束限制:

对于数据库实例类型不是单机的实例,需要分别为实例所有节点指定可用区,并用逗号隔开。

取值范围:

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

默认取值:

不涉及。

ha

Object

参数解释:

HA配置参数,详情请参见表4

约束限制:

仅创建主备实例时使用。

port

String

参数解释:

数据库端口信息。

约束限制:

不涉及。

取值范围:

  • 不传该参数时,默认3306。
  • 传入该参数时,取值1024~65535(其中12017和33071被RDS系统占用不可设置)。

默认取值:

3306

password

String

参数解释:

数据库密码。

约束限制:

建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。如果您提供的密码被系统视为弱密码,您将收到错误提示,请提供更高强度的密码。

取值范围:

数据库支持的密码长度是8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合。允许输入~!@#$%^*-_=+?,()&特殊字符。

默认取值:

不涉及。

backup_strategy

Object

参数解释:

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

约束限制:

不涉及。

charge_info

Object

参数解释:

包周期计费类型。详情请参见表7

约束限制:

不涉及。

time_zone

String

参数解释:

UTC时区。

约束限制:

不涉及。

取值范围:

  • 不传该参数,默认为UTC时间。
  • 传入该参数,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。

默认取值:

UTC+08:00

tags

Array of objects

参数解释:

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

详情请参见 表8

约束限制:

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

is_flexus

boolean

参数解释:

创建FlexusRDS实例。

约束限制:

不涉及。

取值范围:

true

默认取值:

不涉及。

表3 datastore字段数据结构说明

名称

是否必选

参数类型

说明

type

String

参数解释:

数据库引擎。

约束限制:

不涉及。

取值范围:

MySQL

默认取值:

不涉及。

version

String

参数解释:

数据库版本。

约束限制:

不涉及。

取值范围:

5.7、8.0

默认取值:

不涉及。

表4 ha字段数据结构说明

名称

是否必选

参数类型

说明

mode

String

参数解释:

实例主备模式。

约束限制:

不涉及。

取值范围:

HA,不区分大小写。

默认取值:

不涉及。

replication_mode

String

参数解释:

备机同步参数。

约束限制:

不涉及。

取值范围:

  • async:异步模式。
  • semisync:半同步模式。

默认取值:

不涉及。

表5 backup_strategy字段数据结构说明

名称

是否必选

参数类型

说明

start_time

String

参数解释:

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

约束限制:

不涉及。

取值范围:

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

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

示例:

  • 08:15-09:15
  • 23:00-00:00

默认取值:

不涉及。

keep_days

Integer

参数解释:

指定备份文件的可保存天数。

约束限制:

不涉及。

取值范围:

  • 不传该参数,默认7天。
  • 传入该参数,0~732。取值为0,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。

默认取值:

7

表6 volume字段数据结构说明

名称

是否必选

参数类型

说明

type

String

参数解释:

磁盘类型。

约束限制:

不涉及。

取值范围:

CLOUDSSD:区分大小写,表示SSD云盘,仅支持通用型和独享型规格实例。

默认取值:

不涉及。

size

Integer

参数解释:

磁盘大小。

约束限制:

不涉及。

取值范围:

40 GB~4000 GB,必须为10的整数倍。

默认取值:

不涉及。

表7 charge_info字段数据结构说明

名称

是否必选

参数类型

说明

charge_mode

String

参数解释:

计费模式。

约束限制:

不涉及。

取值范围:

prePaid:预付费,即包年/包月。

默认取值:

不涉及。

period_type

String

参数解释:

订购周期类型。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

period_num

Integer

参数解释:

订购时长。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

is_auto_renew

boolean

参数解释:

包周期实例是否自动续订,续订的周期和原周期相同,且续订时会自动支付。

约束限制:

不涉及。

取值范围:

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

默认取值:

false

is_auto_pay

boolean

参数解释:

是否自动从客户的账户中支付,此字段不影响自动续订的支付方式。

约束限制:

不涉及。

取值范围:

  • true,为自动支付。
  • false,为手动支付,默认该方式。

默认取值:

false

表8 tags字段数据结构说明

名称

是否必选

参数类型

说明

key

String

参数解释:

标签键。

约束限制:

不涉及。

取值范围:

长度为1-128个unicode字符。

可以包含任何语种字母、数字、空格和_.:=+-@,但首尾不能含有空格,不能以_sys_开头。

默认取值:

不涉及。

value

String

参数解释:

标签值。

约束限制:

不涉及。

取值范围:

最大长度255个unicode字符,可以为空字符串。

可以包含任何语种字母、数字、空格和_.:=+-@。

默认取值:

不涉及。

请求示例

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

  • 创建FlexusRDS单机实例。
    POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances
    
    {
    	"name": "flexusrds-instance",
    	"datastore": {
    		"type": "MySQL",
    		"version": "5.7"
    	},
    	"flavor_ref": "rds.mysql.y1.large.2",
    	"volume": {
    		"type": "CLOUDSSD",
    		"size": 100
    	},
    	"region": "aaa",
    	"availability_zone": "bbb",
    	"port": 3306,
    	"backup_strategy": {
    		"start_time": "08:15-09:15",
    		"keep_days": 12
    	},
    	"charge_info": {
    		"charge_mode": "prePaid"
    	},
    	"password": "****",
    	"time_zone": "UTC+04:00",
    	"tags": [
    		{
    			"key": "key1",
    			"value": "value1"
    		},
    		{
    			"key": "key2",
    			"value": "value2"
    		}
    	],
    	"is_flexus": true
    }
  • 创建FlexusRDS主备实例。
    {
    	"name": "flexusrds-instance-ha",
    	"datastore": {
    		"type": "MySQL",
    		"version": "5.7"
    	},
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "semisync"
    	},
    	"flavor_ref": "rds.mysql.y1.xlarge.2.ha",
    	"volume": {
    		"type": "CLOUDSSD",
    		"size": 100
    	},
    	"region": "aaa",
    	"availability_zone": "bbb",
    	"port": 3306,
    	"backup_strategy": {
    		"start_time": "08:15-09:15",
    		"keep_days": 12
    	},
    	"charge_info": {
    		"charge_mode": "prePaid"
    	},
    	"password": "****",
           "tags": [
    		{
    			"key": "key1",
    			"value": "value1"
    		},
    		{
    			"key": "key2",
    			"value": "value2"
    		}
    	],
    	"is_flexus": true
    }

响应消息

  • 正常响应要素说明
    表9 要素说明

    名称

    参数类型

    说明

    instance

    Object

    参数解释:

    实例信息。详情请参见表10

    order_id

    String

    参数解释:

    订单号。

    取值范围:

    不涉及。

    表10 instance说明

    名称

    参数类型

    说明

    id

    String

    参数解释:

    实例ID。

    取值范围:

    不涉及。

    name

    String

    参数解释:

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

    取值范围:

    与请求参数值相同。

    status

    String

    参数解释:

    实例状态。

    取值范围:

    BUILD,表示创建中。

    datastore

    Object

    参数解释:

    数据库信息。详情请参见表11

    ha

    Object

    参数解释:

    HA配置参数,仅当您选择创建HA实例时该参数才可见。

    详情请参见表12

    port

    String

    参数解释:

    数据库端口信息。

    取值范围:

    与请求参数值相同。

    backup_strategy

    Object

    参数解释:

    自动备份策略。详情请参见表13

    flavor_ref

    String

    参数解释:

    规格码。

    取值范围:

    与请求参数值相同。

    volume

    Object

    参数解释:

    volume信息。详情请参见表14

    region

    String

    参数解释:

    区域ID。

    取值范围:

    与请求参数值相同。

    availability_zone

    String

    参数解释:

    可用区ID。

    取值范围:

    与请求参数值相同。

    vpc_id

    String

    参数解释:

    虚拟私有云ID。

    取值范围:

    vpc-default-smb

    subnet_id

    String

    参数解释:

    子网的网络ID信息。

    取值范围:

    subnet-default-smb

    security_group_id

    String

    参数解释:

    指定实例所属的安全组。

    取值范围:

    sg-default-smb

    charge_info

    Object

    参数解释:

    计费方式信息。详情请参见表15

    表11 datastore字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    参数解释:

    数据库引擎。

    取值范围:

    MySQL

    version

    String

    参数解释:

    数据库版本。

    取值范围:

    5.7、8.0

    表12 ha字段数据结构说明

    名称

    参数类型

    说明

    mode

    String

    参数解释:

    实例主备模式。

    取值范围:

    HA,不区分大小写。

    replication_mode

    String

    参数解释:

    备机同步参数。

    取值范围:

    • async:异步模式。
    • semisync:半同步模式。
    表13 backupStrategy字段数据结构说明

    名称

    参数类型

    说明

    start_time

    String

    参数解释:

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

    取值范围:

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

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

    示例:

    • 08:15-09:15
    • 23:00-00:00

    如果请求体中“backup_strategy”为空,则响应体中 “start_time”默认返回“02:00-03:00”

    keep_days

    Integer

    参数解释:

    指定备份文件的可保存天数。

    取值范围:

    0~732。取值为0,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。

    如果请求体中“backup_strategy”为空,则响应体中 “keep_days”默认返回“7”

    表14 volume字段数据结构说明

    名称

    参数类型

    说明

    type

    String

    参数解释:

    磁盘类型。

    取值范围:

    CLOUDSSD:区分大小写,表示SSD云盘,仅支持通用型和独享型规格实例。

    size

    Integer

    参数解释:

    磁盘大小。

    取值范围:

    40 GB~4000 GB,必须为10的整数倍。

    表15 chargeInfo字段数据结构说明

    名称

    参数类型

    说明

    charge_mode

    String

    参数解释:

    计费模式。

    取值范围:

    prePaid:预付费,即包年/包月。

    period_num

    Integer

    参数解释:

    订购时长。

    取值范围:

    与请求参数值相同。

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

  • 正常响应样例

    创建FlexusRDS单机实例下发成功。

    {
    	"instance": {
    		"id": "dsfae23fsfdsae3435in01",
    		"name": "flexusrds-instance",
    		"datastore": {
    			"type": "MySQL",
    			"version": "5.7"
    		},
    		"flavor_ref": "rds.mysql.y1.large.2",
    		"volume": {
    			"type": "CLOUDSSD",
    			"size": 100
    		},
                    "region": "aaa",
    		"availability_zone": "bbb",
    		"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    		"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    		"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    		"port": "3306",
    		"backup_strategy": {
    			"start_time": "08:15-09:15",
    			"keep_days": 3
    		},
    		"charge_info": {
    			"charge_mode": "postPaid"
    		}
    	},
    	"job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"
    }

    创建FlexusRDS主备实例下发成功。

    {
      "instance":{ 
               "id": "dsfae23fsfdsae3435in01",
               "name": "flexusrds-instance-ha", 
               "datastore": { 
                 "type": "MySQL", 
                 "version": "5.7" 
                }, 
               "ha": {
                 "mode": "ha",
                 "replication_mode": "semisync"
               },
               "flavor_ref": "rds.mysql.y1.xlarge.2.ha",
               "volume": { 
                   "type": "CLOUDSSD", 
                   "size": 100 
                 },
               "region": "aaa",
               "availability_zone": "bbb,ccc",
               "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", 
               "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
               "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", 
               "port": "3306", 
               "backup_strategy": { 
                 "start_time": "08:15-09:15", 
                 "keep_days": 3 
                }, 
               "charge_info": {
                       "charge_mode": "postPaid"
                                   },
             },
      "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" 
    }
  • 异常响应

    请参见异常请求结果

状态码