# 创建数据库 - CreateUDBInstance

## 简介

创建UDB实例（包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例）

 > 💡 创建快杰MySQL实例请用CreateUDBMySQLInstance接口，创建快杰SQL Server实例请用CreateUDBSQLServerInstance接口，创建跨可用区的高可用注意项:1. 需要参数 BackupZone：值为高可用容灾的ZoneId2. 参数ParamGroupId: 值为跨可用区的配置文件，可以通过DescribeUDBParamGroup获得



## 定义

### 公共参数

| 参数名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **Action**     | string  | 对应的 API 指令名称，当前 API 为 `CreateUDBInstance`                        | **Yes** |
| **PublicKey**  | string  | 用户公钥，可从 [控制台](https://console.sigcalcloud.com/uaccount/api_manage) 获取                                             | **Yes** |
| **Signature**  | string  | 根据公钥及 API 指令生成的用户签名，参见 [签名算法](/docs/api/summary/signature.md)  | **Yes** |

### 请求参数

| 参数名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **Region** | string | 地域。 参见 [地域和可用区列表](/docs/api/summary/regionlist) |**Yes**|
| **Zone** | string | 可用区。参见 [可用区列表](/docs/api/summary/regionlist) |**Yes**|
| **ProjectId** | string | 项目ID。不填写为默认项目，子帐号必须填写。 请参考[GetProjectList接口](/docs/api/summary/get_project_list) |No|
| **Name** | string | 实例名称，至少6位 |**Yes**|
| **AdminPassword** | string | 管理员密码 |**Yes**|
| **DBTypeId** | string | DB类型，mysql/sqlserver按版本细分 mysql-8.0, mysql-5.6, percona-5.6, mysql-5.7, percona-5.7,  sqlserver-2017 |**Yes**|
| **Port** | int | 端口号，mysql默认3306，sqlserver默认1433 |**Yes**|
| **DiskSpace** | int | 磁盘空间(GB), 暂时支持20G - 32T |**Yes**|
| **ParamGroupId** | int | DB实例使用的配置参数组id |**Yes**|
| **MemoryLimit** | int | 内存限制(MB)（待废弃，请通过指定MachineType和SpecificationType创建），目前支持以下几档 2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M/128000M/192000M/256000M/320000M |No|
| **ChargeType** | string | Year， Month， Dynamic，Trial，默认: Month |No|
| **Quantity** | int | 购买时长，默认值1 |No|
| **AdminUser** | string | 管理员帐户名，默认root |No|
| **BackupCount** | int | 备份策略，每周备份数量，默认7次 |No|
| **BackupTime** | int | 备份策略，备份开始时间，单位小时计，默认1点 |No|
| **BackupDuration** | int | 备份策略，备份时间间隔，单位小时计，默认24小时 |No|
| **BackupId** | int | 备份id，如果指定，则表明从备份恢复实例 |No|
| **InstanceType** | string | 对于快杰机型，请使用最新的 SpecificationClass 和 StorageClass 字段进行创建。<br />目前仅有少量地域支持 SATA_SSD 存储类型；若创建的是 SATA_SSD 机型，可通过该字段指定。<br /><br />字段说明：<br /><br />SATA_SSD：SATA SSD 机型（仅部分地域支持）<br />NVMe_SSD：快杰机型 |No|
| **SSDType** | string | 已废弃 |No|
| **InstanceMode** | string | UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例 "HA": 高可用版UDB实例 默认是"Normal" |No|
| **CPU** | int | cpu核数，如果db类型为sqlserver，必传参数 |No|
| **BackupZone** | string | 跨可用区高可用备库所在可用区，参见 [可用区列表](/docs/api/summary/regionlist) |No|
| **SubnetId** | string | 子网ID |No|
| **VPCId** | string | VPC的ID |No|
| **DisableSemisync** | boolean | 是否开启异步高可用，默认不填，可置为true |No|
| **ClusterRole** | string | 已废弃 |No|
| **Tag** | string | 实例所在的业务组名称 |No|
| **DBSubVersion** | string | MySQL 小版本号，支持指定小版本进行创建，请通过 DescribeUDBType 接口获取可用版本。 |No|
| **CaseSensitivityParam** | int | mysql大小写参数, 0 为大小写敏感, 1 为大小写不敏感, 目前只针对mysql8.0有效 |No|
| **SpecificationType** | string | 实例计算规格类型，0或不传代表使用内存方式购买，1代表使用内存-cpu可选配比方式购买，需要填写MachineType |No|
| **MachineType** | string | 规格类型 ID，当 SpecificationType = 1 时生效，请通过 ListUDBMachineType 接口获取。 |No|
| **AlarmTemplateId** | string | 告警模版id |No|
| **BackupURL** | string | 备份文件的US3内网下载地址 |No|
| **StorageClass** | string | 存储类型 CLOUD_SSD: SSD云盘, CLOUD_RSSD: RSSD 云盘， CLOUD_SSD_ESSENTIAL: SSD Essential云盘 ，该字段和SpecificationClass组合优先级比InstanceType字段高<br /> |No|
| **SpecificationClass** | string | 规格类型 O: NVMe型, OM: 共享型，N: 通用型 |No|
| **SemisyncFlag** | int | 半同步开启开关 1：表示开启半同步，2：表示关闭半同步，0：表示默认值，默认也是开启半同步 |No|
| **Labels.N.Key** | string | 用户资源标签的键值 |No|
| **Labels.N.Value** | string | 用户资源标签值 |No|
| **CouponId** | string | 使用的代金券id |No|

### 响应字段

| 字段名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **RetCode** | int | 返回状态码，为 0 则为成功返回，非 0 为失败 |**Yes**|
| **Action** | string | 操作指令名称 |**Yes**|
| **Message** | string | 返回错误消息，当 `RetCode` 非 0 时提供详细的描述信息 |No|
| **DBId** | string | BD实例id |No|




## 示例

### 请求示例
    
```
https://api.sigcalcloud.com/?Action=CreateUDBInstance
&Region=cn-bj2
&Zone=cn-bj2-04
&DBTypeId=mysql-5.6
&ChargeType=Month   
&Name=my_test_udb
&AdminUser=root
&AdminPassword=mysql_12
&Port=3306
&ParamGroupId=10
&MemoryLimit=1500
&DiskSpace=200
&InstanceMode=HA
&ClusterRole=IcPiHioG
&HAArch=haproxy
&Tag=awpGFPaP
&EnableIpV6=true
&BackupUrl=ArIyIIyj
&DBSubVersion=8.0.16
&CaseSensitivityParam=5
&SpecificationType=IWYpQrmi
&MachineType=ZINkjHvV
&AlarmTemplateId=ZhRasRaR
&BackupURL=oshESfOV
&StorageClass=EdRLHUsN
&SpecificationClass=ZFvDzuMA
&SemisyncFlag=6
&Labels.N.Key=HFdaujOo
&Labels.N.Value=JlcpTDgc
```

### 响应示例
    
```json
{
  "Action": "CreateUDBInstanceResponse",
  "DBId": "udbha-xxxxxx",
  "RetCode": 0
}
```





