更新时间:2024-08-30 GMT+08:00

创建数据库实例

功能介绍

创建GaussDB实例。

URI

POST https://{Endpoint}/v3/{project_id}/instances
表1 参数说明

名称

是否必选

说明

project_id

参数解释:

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

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

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值

不涉及。

请求参数

表2 请求参数

名称

是否必选

参数类型

说明

name

String

实例名称。

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

取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

datastore

Object

数据库信息。

详情请参见表3

ha

Object

实例部署形态。详情请参见表4

configuration_id

String

参数模板ID。当不传该参数时,使用系统默认的参数模板,且响应体中不返回该参数

port

String

数据库对外开放的端口,不填默认为8000,可选范围为:1024-39998。限制端口: 2378,2379,2380,4999,5000,5999,6000,6001,8097,8098,12016,12017,20049,20050,21731,21732,32122,32123,32124。

password

String

数据库密码。

GaussDB密码取值范围:

非空; 至少包含大写字母(A-Z),小写字母(a-z),数字(0-9),非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符;长度8~32个字符。

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

backup_strategy

Object

备份策略。

详情请参见表5

enterprise_project_id

String

企业项目ID。只有企业租户时该参数才生效。

使用请参考《企业管理 API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。

disk_encryption_id

String

用于磁盘加密的密钥ID,默认为空。

flavor_ref

String

规格码,取值范围:非空。参考数据库实例规格GaussDB的“规格编码”列内容获取。

volume

Object

volume信息。

详情请参见表6

region

String

区域ID。

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

availability_zone

String

可用区ID。

GaussDB取值范围:非空,可选部署在同一可用区或三个不同可用区,可用区之间用逗号隔开。详见示例。

  • 部署在同一可用区:需要输入三个相同的可用区。
  • 部署在三个不同可用区:需要分别输入三个不同的可用区。

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

vpc_id

String

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

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

subnet_id

String

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

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

security_group_id

String

指定实例所属的安全组。如果不需要指定安全组,请联系客服申请白名单。

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

charge_info

Object

计费类型信息,仅支持按需和包周期。

详情请参见表7

time_zone

String

UTC时区。

  • 不选择时,GaussDB国际站默认为UTC时间。
  • 选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。

sharding_num

Integer

仅分布式形态需要填写该参数。分片数量,取值范围1~9。

coordinator_num

Integer

仅分布式形态需要填写该参数。协调节点数量,取值范围1~9。CN数量必须小于或等于两倍的分片数。

replica_num

Integer

实例副本数,支持取值2,3。不填默认为3。

说明:

2副本选项仅针对特定用户开放,且仅支持1.3.0及以上版本的实例。如需配置白名单权限,您可以在管理控制台右上角,选择“工单 > 新建工单”,提交开通白名单的申请。

enable_force_switch

Boolean

enable_force_switch表示是否开启备机强升主功能,仅支持取值true,false。true表示开启备机强升主功能,false表示关闭,默认关闭。仅支持1.2.2及以上版本。

说明:

备机强升主功能适用场景:在主机发生故障后,为了保障集群的可用性,强制拉起备机作为新主机对外提供服务的场景。本功能在集群故障状态下,以丢失部分数据为代价换取集群尽可能快的恢复服务。本功能是集群状态为不可用时的一个逃生方法,如果操作者不清楚备机强升后丢失数据对业务的影响,请勿使用本功能。

表3 datastore字段数据结构说明

名称

是否必选

参数类型

说明

type

String

数据库引擎,取值如下:

GaussDB。不区分大小写。

version

String

数据库版本。不填时,默认为当前最新版本。

GaussDB支持的版本参考查询数据库引擎的版本查询。

表4 ha字段数据结构说明

名称

是否必选

参数类型

说明

mode

String

GaussDB为分布式模式取值:enterprise(企业版) ,集中式取值:centralization_standard,不区分大小写。

consistency

String

指定事务一致性类型,取值范围:strong(强一致性) | eventual(最终一致性),不分区大小写。

replication_mode

String

备机同步参数。

取值:

GaussDB为“sync"

说明:

“sync”为同步模式。

instance_mode

String

指定创建实例的产品类型。不传该参数默认创建企业版实例,创建基础版和生态版需要指定参数值。

  • enterprise:创建企业版实例。
  • basic:创建基础版实例。
  • ecology:创建生态版实例。
表5 backup_strategy字段数据结构说明

名称

是否必选

参数类型

说明

start_time

String

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

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

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

取值示例:

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

keep_days

Integer

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

取值范围:0~732。该参数缺省或为0时,默认填写为7天。

表6 volume字段数据结构说明

名称

是否必选

参数类型

说明

type

String

磁盘类型。

仅支持ULTRAHIGH和ESSD,区分大小写,分别表示SSD和极速云盘。

size

Integer

磁盘大小。例如:该参数填写为“40”,表示为创建的实例分配40GB的磁盘空间。

ECS部署方案:取值范围:(分片数*40GB)~(分片数*16TB),且大小只能为分片数*4的整数倍。

表7 chargeInfo字段数据结构说明

名称

是否必选

参数类型

说明

charge_mode

String

计费模式。

postPaid:后付费,即按需付费。

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

period_type

String

订购周期类型。

取值范围:

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

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

period_num

Integer

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

取值范围:

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

当传入浮点型时,会自动截取为整型。

is_auto_renew

Boolean

创建包周期实例时可指定,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。

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

is_auto_pay

Boolean

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

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

响应参数

表8 响应参数

名称

参数类型

说明

instance

Object

实例信息。

详情请参见表9

job_id

String

实例创建的任务id。

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

order_id

String

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

表9 instance说明

名称

参数类型

说明

id

String

实例id。

name

String

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

取值范围:4~64个字符之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

status

String

实例状态。如BUILD,表示创建中。

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

datastore

Object

数据库信息。

详情请参见表10

ha

Object

数据库部署形态。

详情请参见表11

replica_num

Integer

实例副本数。

port

String

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

backup_strategy

Object

自动备份策略。

详情请参见表12

enterprise_project_id

String

项目标签。

flavor_ref

String

规格码,取值范围:非空。参考数据库实例规格GaussDB的“规格编码”列内容获取。

volume

Object

volume信息。

详情请参见表13

region

String

区域ID。

availability_zone

String

可用区ID。

vpc_id

String

虚拟私有云ID。

subnet_id

String

子网的网络ID信息。

security_group_id

String

实例所属的安全组。

charge_info

Object

付费方式信息。

详情请参见表14

表10 datastore字段数据结构说明

名称

参数类型

说明

type

String

数据库引擎,返回值如下:

version

String

数据库版本。

表11 ha字段数据结构说明

名称

参数类型

说明

mode

String

GaussDB分布式模式支持取值:enterprise(企业版) ,主备版取值:centralization_standard,不区分大小写。

replication_mode

String

备机同步参数。

取值:

GaussDB为“sync”。

说明:

“sync”为同步模式。

consistency

String

GaussDB的预留参数:指定事务一致性类型,取值范围:strong(强一致性) | eventual(最终一致性)。

表12 backup_strategy字段数据结构说明

名称

参数类型

说明

start_time

String

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

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

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

取值示例:

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

如果请求体中不填写“backup_strategy”字段,则响应体中 “start_time”默认返回“02:00-03:00”

keep_days

Integer

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

取值范围:1~732。如果请求体中不填写“backup_strategy”字段,则响应体中 “keep_days”默认填写为7天。

表13 volume字段数据结构说明

名称

参数类型

说明

type

String

磁盘类型。

取值如下,区分大小写:

  • ULTRAHIGH,表示SSD盘。
  • ESSD,表示极速云盘。

size

Integer

磁盘大小。

GaussDB分布式实例创建时需指定大小:要求必须为(分片数*4GB)的倍数,取值范围:(分片数*40GB)~(分片数*16TB)。

表14 charge_Info字段数据结构说明

名称

参数类型

说明

charge_mode

String

计费模式。

postPaid:后付费,即按需付费。

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

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

Boolean

创建包周期实例时可指定,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。

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

is_auto_pay

Boolean

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

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

请求示例

  • 创建一个GaussDB实例,实例部署形态为分布式独立部署,按需付费,引擎版本为1.4,同一可用区下,3个协调节点,3个分片,3个副本,规格为8U64G。
    https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances
    {
        "name": "user1-v3-independent-01", 
        "datastore": {
            "type": "GaussDB", 
            "version": "1.4"
        }, 
        "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", 
        "volume": {
            "type": "ULTRAHIGH", 
            "size": 120
        },
        "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab",
        "region": "aaa", 
        "availability_zone": "bbb,bbb,bbb", 
        "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", 
        "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", 
        "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", 
        "backup_strategy": {
            "start_time": "17:00-18:00", 
            "keep_days": 7
        }, 
        "charge_info": {
            "charge_mode": "postPaid"
        }, 
        "password": "xxxxxx", 
        "configuration_id": "", 
        "enterprise_project_id": "", 
        "time_zone": "UTC+08:00",
        "ha":{
            "mode":"enterprise",
            "consistency":"strong",
            "replication_mode":"sync"
        },
        "sharding_num": 3,
        "coordinator_num": 3,
        "replica_num": 3,
        "port":8000,
        "enable_force_switch":true
    }
  • 创建一个GaussDB实例,实例部署形态为分布式独立部署,包周期付费(1年),引擎版本为1.4,三个不同可用区下,3个协调节点,3个分片,3个副本,规格为8U64G。
    https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances
    {
        "name": "user1-v3-independent-02", 
        "datastore": {
            "type": "GaussDB", 
            "version": "1.4"
        }, 
        "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", 
        "volume": {
            "type": "ULTRAHIGH", 
            "size": 120
        },
        "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab",
        "region": "aaa",
        "availability_zone": "bbb,ccc,ddd", 
        "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", 
        "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", 
        "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", 
        "backup_strategy": {
            "start_time": "17:00-18:00", 
            "keep_days": 7
        }, 
        "charge_info": {
            "charge_mode": "prePaid",
            "period_type": "year",
            "period_num": 1
        },
        "password": "xxxxxx", 
        "configuration_id": "", 
        "enterprise_project_id": "", 
        "time_zone": "UTC+08:00",
        "ha":{
            "mode":"enterprise",
            "consistency":"strong",
            "replication_mode":"sync"
        },
        "sharding_num": 3,
        "coordinator_num": 3,
        "replica_num": 3,
        "port":8000,
        "enable_force_switch":true
    }
  • 创建一个GaussDB实例,实例部署形态为主备版高可用(1主2备),按需付费,引擎版本为1.4,同一可用区下,规格为8U64G。
    https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances
    {
        "name": "user1-v3-ha-01",
        "datastore": {
            "type": "GaussDB",
            "version": "1.4"
        },
        "flavor_ref": "gaussdb.opengauss.ee.km1.2xlarge.arm8.ha",
        "volume": {
            "type": "ULTRAHIGH",
            "size": 120
        },
        "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab",
        "region": "aaa",
        "availability_zone": "bbb,bbb,bbb", 
        "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329",
        "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189",
        "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f",
        "backup_strategy": {
            "start_time": "17:00-18:00",
            "keep_days": 7
        },
        "charge_info": {
            "charge_mode": "postPaid",
        },
        "password": "xxxxxx",
        "configuration_id": "", 
        "enterprise_project_id": "",
        "time_zone": "UTC+08:00",
        "ha": {
            "mode": "centralization_standard",
            "consistency": "strong",
            "replication_mode": "sync"
        },
        "replica_num": 3,
        "port": 8000,
        "enable_force_switch": true
    }
  • 创建一个GaussDB实例,实例部署形态为主备版高可用(1主2备),包周期付费(1年),引擎版本为1.4,三个不同可用区下,规格为8U64G。
    https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances
    {
        "name": "user1-v3-ha-02",
        "datastore": {
            "type": "GaussDB",
            "version": "1.4"
        },
        "flavor_ref": "gaussdb.opengauss.ee.km1.2xlarge.arm8.ha",
        "volume": {
            "type": "ULTRAHIGH",
            "size": 120
        },
        "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab",
        "region": "aaa",
        "availability_zone": "bbb,ccc,ddd", 
        "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329",
        "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189",
        "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f",
        "backup_strategy": {
            "start_time": "17:00-18:00",
            "keep_days": 7
        },
        "charge_info": {
            "charge_mode": "prePaid",
            "period_type": "year",
            "period_num": 1
        },
        "password": "xxxxxx",
        "configuration_id": "", 
        "enterprise_project_id": "",
        "time_zone": "UTC+08:00",
        "ha": {
            "mode": "centralization_standard",
            "consistency": "strong",
            "replication_mode": "sync"
        },
        "replica_num": 3,
        "port": 8000,
        "enable_force_switch": true
    }

响应示例

GaussDB企业版实例:

{
    "instance": {
        "id": "ad8cd1440aa94a02ae4580fcbebb3143in14",
        "name": "user1-v3-independent",
        "status": "BUILD",
        "datastore": {
            "type": "",
            "version": "1.4"
        },
        "ha": {
            "mode": "Enterprise",
            "replication_mode": "sync",
            "consistency": "strong"
        },
        "port": "8000",
        "volume": {
            "type": "ULTRAHIGH",
            "size": 120
        },
        "replica_num": 3,
        "region": "aaa",
           "region": "aaa",
        "backup_strategy": {
            "start_time": "17:00-18:00",
            "keep_days": 7
        },
        "enterprise_project_id": "0",
        "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in",
        "availability_zone": "bbb,bbb,bbb",
        "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329",
        "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189",
        "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f",
        "charge_info": {
            "charge_mode": "postPaid"
        }
    },
    "job_id": "30f2790a-a5b6-4a13-a5ab-733c746609af"
}

状态码

错误码

请参见错误码