关系型数据库(MySQL)
自 v5.0.0 起新增此模块。通过 app.mysql 访问,提供云开发托管 MySQL(Serverless CynosDB)数据库的完整管理能力。
初始化
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId'
})
const mysql = app.mysql
createMySQL
1. 接口描述
接口功能:为当前环境开通 MySQL 数据库
接口声明:app.mysql.createMySQL(options?): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| DbInstanceType | 否 | String | Db 类型,固定值 MYSQL |
| MysqlVersion | 否 | String | MySQL 版本,如 5.7 |
| VpcId | 否 | String | VPC ID |
| SubnetId | 否 | String | 子网 ID |
| LowerCaseTableNames | 否 | String | 表名大小写:0(区分)/ 1(不区分,默认) |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| RequestId | String | 请求唯一标识 |
| Data.TaskId | String | 异步开通任务 ID |
4. 示例代码
const { Data } = await mysql.createMySQL({ MysqlVersion: '5.7' })
console.log('开通任务 ID:', Data.TaskId)
describeCreateResult
1. 接口描述
接口功能:查询 MySQL 开通状态
接口声明:app.mysql.describeCreateResult(options?): Promise<Object>
2. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Data.Status | String | notexist(未开通)/ success(已开通) |
| Data.FailReason | String | 失败原因(失败时有值) |
| Data.FreezeStatus | Boolean | 是否冻结 |
describeClusterDetail
1. 接口描述
接口功能:查询 MySQL 集群详情(数据库信息、网络配置等)
接口声明:app.mysql.describeClusterDetail(): Promise<Object>
2. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Data.DbClusterId | String | 集群 ID |
| Data.DbInfo | Object | 数据库状态、版本、存储等信息 |
| Data.NetInfo | Object | 内外网 IP、VPC 等网络信息 |
destroyMySQL
1. 接口描述
接口功能:销毁当前环境的 MySQL 实例
接口声明:app.mysql.destroyMySQL(): Promise<Object>
2. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Data.IsSuccess | Boolean | 是否成功 |
| Data.TaskId | String | 任务 ID |
| Data.TaskName | String | 任务名称 |
describeTaskStatus
1. 接口描述
接口功能:查询 MySQL 异步任务状态
接口声明:app.mysql.describeTaskStatus(options?): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| TaskId | 否 | String | 任务 ID |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Status | String | 任务状态,如 SUCCESS / FAILED |
| StatusDesc | String | 状态描述 |
runSql
1. 接口描述
接口功能:直接执行 SQL 语句(SELECT/INSERT/UPDATE/DELETE 等)
接口声明:app.mysql.runSql(options): Promise<IRunSqlResult>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Sql | 是 | String | 要执行的 SQL 语句 |
| DbInstance | 否 | Object | 数据库连接器实例信息 |
| ReadOnly | 否 | Boolean | 只读模式(仅允许 SELECT/WITH/SHOW/DESCRIBE/EXPLAIN 语句) |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| Items | String[] | 查询结果行(每行为 JSON 字符串) |
| Infos | String[] | 列元数据 |
| RowsAffected | Number | 受影响的行数 |
| RequestId | String | 请求唯一标识 |
4. 示例代码
const res = await mysql.runSql({
Sql: 'SELECT * FROM users WHERE id = 1'
})
const rows = res.Items.map(item => JSON.parse(item))
console.log(rows)
openWan / closeWan
1. 接口描述
接口功能:开启/关闭实例的公网访问
接口声明:
app.mysql.openWan(options?): Promise<Object>app.mysql.closeWan(options?): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| InstanceId | 否 | String | 实例 ID |
| InstanceGroupId | 否 | String | 实例组 ID |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| FlowId | Number | 任务流 ID |
| RequestId | String | 请求唯一标识 |
describeClusterInstanceGroups
1. 接口描述
接口功能:查询集群的实例组列表(含各实例组的网络信息和实例列表)
接口声明:app.mysql.describeClusterInstanceGroups(): Promise<Object>
2. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| TotalCount | Number | 实例组总数 |
| InstanceGroupInfoList | Array | 实例组列表,每项含 Vip/Vport/InstanceSet 等 |
describeInstances
1. 接口描述
接口功能:查询实例列表,支持多维度过滤
接口声明:app.mysql.describeInstances(options?): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Limit | 否 | Number | 返回数量,默认 20,取值 (0,100] |
| Offset | 否 | Number | 偏移量,默认 0 |
| OrderBy | 否 | String | 排序字段:CREATETIME / PERIODENDTIME |
| OrderByType | 否 | String | 排序方式:ASC / DESC |
| Filters | 否 | IQueryFilter[] | 过滤条件,各条件间 AND 关系 |
| Status | 否 | String | 实例状态:creating / running / isolating / isolated 等 |
| InstanceIds | 否 | String[] | 按实例 ID 列表过滤 |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| TotalCount | Number | 实例总数 |
| InstanceSet | Array | 实例详情列表 |
describeInstanceDetail
1. 接口描述
接口功能:查询单个实例的完整详情
接口声明:app.mysql.describeInstanceDetail(options): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| InstanceId | 是 | String | 实例 ID |
3. 返回结果
返回 Detail 对象,包含实例 CPU/内存/存储、网络、状态、版本等全量信息(见 ICynosdbInstanceFullDetail)。
restartInstance
1. 接 口描述
接口功能:重启指定实例
接口声明:app.mysql.restartInstance(options): Promise<Object>
2. 输入参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| InstanceId | 是 | String | 实例 ID |
3. 返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| FlowId | Number | 异步任务流 ID |
| RequestId | String | 请求唯一标识 |
upgradeInstance
1. 接口描述
接口功能:变更实例规格(CPU / 内存)
接口声明:app.mysql.upgradeInstance(options): Promise<Object>