执行SQL
功能介绍
在指定的Session下执行SQL语句。用户可通过此接口执行SQL语句,输入为SQL语句、端点id、SQL Session id、绑定参数等信息,返回语句执行结果或语句id。此接口支持异步和同步两种执行模式,由入参is_sync参数决定。如果是异步执行,配套使用接口ShowSqlStatementResult查询语句结果。如果是同步执行,接口会等待一段时间接收结果,如果执行完毕会返回执行结果,如果没有执行完毕,会返回一个运行中状态,后续可以使用接口ShowSqlStatementResult查询语句结果。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/workspaces/{workspace_id}/sessions/statements
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
workspace_id |
是 |
String |
参数解释:工作空间的ID。 约束限制:不涉及。 取值范围:长度为[1,36]的字母、数字、中划线(-)的组合。 默认取值:不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
否 |
String |
参数解释:租户token。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
statement |
是 |
String |
参数解释:SQL statement信息。 约束限制:不涉及。 取值范围:[0,10000000]。 默认取值:不涉及。 |
|
limit |
否 |
Integer |
参数解释:limit限制。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
session_id |
是 |
String |
参数解释:Session的ID。 约束限制:不涉及。 取值范围:长度为[1,36]的英文字符、数字和中划线(-)等特殊字符的组合。 默认取值:不涉及。 |
|
bindings |
否 |
Array<Array<String>> |
参数解释:参数绑定列表。 约束限制:不涉及。 取值范围:[0,10000]。 默认取值:不涉及。 |
|
is_sync |
否 |
Boolean |
参数解释:同步执行或异步执行。 约束限制:不涉及。 取值范围:true:同步,false:异步。 默认取值:不涉及。 |
|
is_maintain_statement |
否 |
Boolean |
参数解释:是否来自运维通道。 约束限制:不涉及。 取值范围:true:运维通道语句,false:不是运维通道语句。 默认取值:不涉及。 |
|
resultset_fetch_mode |
否 |
String |
参数解释:获取结果集的方式。 约束限制:不涉及。 取值范围:DEFAULT:直接返回结果集;READ_OBS:返回结果集在桶上的路径,而不是直接返回结果集。 默认取值:DEFAULT。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
- |
String |
执行SQL的响应信息,String格式,可见响应示例。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释:错误码。 约束限制:不涉及。 取值范围:长度[8,36]。 默认取值:不涉及。 |
|
error_msg |
String |
参数解释:错误描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
|
solution_msg |
String |
参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
状态码:401
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释:错误码。 约束限制:不涉及。 取值范围:长度[8,36]。 默认取值:不涉及。 |
|
error_msg |
String |
参数解释:错误描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
|
solution_msg |
String |
参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
状态码:404
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释:错误码。 约束限制:不涉及。 取值范围:长度[8,36]。 默认取值:不涉及。 |
|
error_msg |
String |
参数解释:错误描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
|
solution_msg |
String |
参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
状态码:408
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释:错误码。 约束限制:不涉及。 取值范围:长度[8,36]。 默认取值:不涉及。 |
|
error_msg |
String |
参数解释:错误描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
|
solution_msg |
String |
参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释:错误码。 约束限制:不涉及。 取值范围:长度[8,36]。 默认取值:不涉及。 |
|
error_msg |
String |
参数解释:错误描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
|
solution_msg |
String |
参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度[2,4096]。 默认取值:不涉及。 |
请求示例
在指定的Session下执行SQL语句。用户可通过此接口执行SQL语句,输入为SQL语句、端点id、SQL Session id、绑定参数等信息,返回语句执行结果或语句id。此接口支持异步和同步两种执行模式,由入参is_sync参数决定。如果是异步执行,配套使用接口ShowSqlStatementResult查询语句结果。如果是同步执行,接口会等待一段时间接收结果,如果执行完毕会返回执行结果,如果没有执行完毕,会返回一个运行中状态,后续可以用使用接口ShowSqlStatementResult查询语句结果。
POST https://endpoint/v1/workspaces/{workspace_id}/sessions/statements
{
"statement" : "select * from aaa",
"limit" : 100,
"session_id" : "string",
"bindings" : [ [ "string" ] ],
"is_maintain_statement" : false,
"resultset_fetch_mode" : "DEFAULT",
"is_sync" : true
}
响应示例
状态码:200
OK
{
"status" : 1,
"session_id" : "6399466e-8908-4c9d-8399-48479c8b06f7",
"statement_id" : "49131d25-1824-4f29-860c-832bdd19dfd3"
}
状态码:400
BadRequest
{
"error_code" : "common.01000001",
"error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}
状态码:401
Unauthorized
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
状态码:403
Forbidden
{
"error" : {
"code" : "403",
"message" : "X-Auth-Token is invalid in the request",
"title" : "Forbidden"
},
"error_code" : 403,
"error_msg" : "X-Auth-Token is invalid in the request",
"title" : "Forbidden"
}
状态码:404
NotFound
{
"error_code" : "common.01000001",
"error_msg" : "response status exception, code: 404"
}
状态码:408
Request Time-out
{
"error_code" : "common.00000408",
"error_msg" : "timeout exception occurred"
}
状态码:500
InternalServerError
{
"error_code" : "common.00000500",
"error_msg" : "internal error"
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
OK |
|
400 |
BadRequest |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
NotFound |
|
408 |
Request Time-out |
|
500 |
InternalServerError |
错误码
请参见错误码。