1. 接口描述
接口请求域名: dcdb.tencentcloudapi.com 。
创建在线DDL任务
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateOnlineDDLJob。 |
Version | 是 | String | 公共参数,本接口取值:2018-04-11。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
InstanceId | 是 | String | 实例Id 示例值:tdsqlshard-gayfdsflx |
Alter | 是 | String | 要执行的 DDL 语句。常用的在线DDL参考此API文档示例部分 示例值:alter table test_tbl add column add_col_2 int not null; |
DbName | 是 | String | 要修改的数据库 示例值:test_db |
Table | 是 | String | 要修改的表 示例值:test_tbl |
User | 否 | String | 指定账号执行DDL,需确保账号有 ALTER, CREATE, INSERT, UPDATE, DROP, DELETE, INDEX, CREATE TEMPORARY TABLES, LOCK TABLES, TRIGGER, REPLICATION CLIENT, REPLICATION SLAVE 等相关权限 (若不填写将默认使用系统账号) 示例值:test_user |
Password | 否 | String | 指定账号的密码 示例值:test_pwd |
CriticalLoad | 否 | Integer | 运行线程数大于此值时,将终止DDL。不填则默认58 示例值:30 |
CheckAutoInc | 否 | Integer | 是否检查自增字段。为1则不允许修改自增字段,0或不填写则不检查 示例值:1 |
MaxDelay | 否 | Integer | 允许的主备延迟时间(单位s),0或不填写则不检查延迟 示例值:5 |
UsePt | 否 | Integer | 是否使用pt-osc工具做DDL 示例值:1 |
StartTime | 否 | String | 开始执行时间 示例值:2024-04-01 01:00:00 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
FlowId | Integer | 在线DDL任务Id 示例值:1314 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 添加字段
为 test_tbl 添加字段
输入示例
POST / HTTP/1.1
Host: dcdb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateOnlineDDLJob
<公共请求参数>
{
"InstanceId": "tdsqlshard-h2yimmox",
"Alter": "alter table test_tbl add column test_add_col varchar(32) not null default 'test' comment 'test add col';",
"DbName": "test_db",
"Table": "test_tbl",
"CriticalLoad": 58,
"CheckAutoInc": 0,
"MaxDelay": 10,
"UsePt": 1,
"User": "test_user",
"Password": "test_pwd",
"StartTime": ""
}
输出示例
{
"Response": {
"FlowId": 1140696,
"RequestId": "bd07e59f-dee8-4680-9a43-492a8a52c894"
}
}
示例2 添加索引
为 test_tbl添加索引
添加唯一索引 :alter table test_tbl add unique key my_idx(id,name);
添加普通索引:alter table test_tbl add key my_idx_1(id,name);
输入示例
POST / HTTP/1.1
Host: dcdb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateOnlineDDLJob
<公共请求参数>
{
"InstanceId": "tdsql-4z38cfwj",
"Alter": "alter table test_tbl add unique key my_idx(id,name); ",
"DbName": "test_db",
"Table": "test_tbl",
"CriticalLoad": 58,
"CheckAutoInc": 0,
"MaxDelay": 10,
"UsePt": 1,
"User": "test_user",
"Password": "test_pwd",
"StartTime": ""
}
输出示例
{
"Response": {
"FlowId": 1140697,
"RequestId": "c5afb15f-70c8-4e71-84b5-688dd326a8c3"
}
}
示例3 删除字段
从test_tbl删除字段 test_add_col
输入示例
POST / HTTP/1.1
Host: dcdb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateOnlineDDLJob
<公共请求参数>
{
"InstanceId": "tdsqlshard-h2yimmox",
"Alter": "alter table test_tbl drop column test_add_col; ",
"DbName": "test_db",
"Table": "test_tbl",
"CriticalLoad": 58,
"CheckAutoInc": 0,
"MaxDelay": 10,
"UsePt": 1,
"User": "test_user",
"Password": "test_pwd",
"StartTime": ""
}
输出示例
{
"Response": {
"FlowId": 1140698,
"RequestId": "a9f824be-fc53-41f7-9e24-2aca60457331"
}
}
示例4 修改字段
将 test_tbl 表字段 test_add_col 从varchar(32) 修改为 varchar(64)
输入示例
POST / HTTP/1.1
Host: dcdb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateOnlineDDLJob
<公共请求参数>
{
"InstanceId": "tdsqlshard-h2yimmox",
"Alter": "alter table test_tbl modify column test_add_col varchar(64) not null default 'test' comment 'test change type'; ",
"DbName": "test_db",
"Table": "test_tbl",
"CriticalLoad": 58,
"CheckAutoInc": 0,
"MaxDelay": 10,
"UsePt": 1,
"User": "test_user",
"Password": "test_pwd",
"StartTime": ""
}
输出示例
{
"Response": {
"FlowId": 1140699,
"RequestId": "7e2e0512-e429-4702-a9a6-d920eebd6536"
}
}
示例5 表空间优化
表空间优化
输入示例
POST / HTTP/1.1
Host: dcdb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateOnlineDDLJob
<公共请求参数>
{
"InstanceId": "tdsqlshard-h2yimmox",
"Alter": "alter table test_tbl engine=innodb; ",
"DbName": "test_db",
"Table": "test_tbl",
"CriticalLoad": 58,
"CheckAutoInc": 0,
"MaxDelay": 10,
"UsePt": 1,
"User": "test_user",
"Password": "test_pwd",
"StartTime": ""
}
输出示例
{
"Response": {
"FlowId": 1140701,
"RequestId": "9df10ff7-9db5-4cad-81e2-3ad742f7bc06"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InternalError.CreateFlowFailed | 创建任务流程失败。 |
InternalError.DbOperationFailed | 查询数据库失败。 |
InternalError.InnerSystemError | 内部系统错误。 |
InvalidParameter.IllegalParameterError | 非法参数。 |
ResourceUnavailable.InstanceStatusAbnormal | 数据库实例状态不正确,当前无法操作。 |
UnsupportedOperation.InvalidOperation | 不支持的无效操作。 |