调用GetMySQLAllSessionAsync接口,采用异步方式获取实例当前会话数据,并按照不同维度统计会话信息。
接口说明
异步调用方式不会立即返回完整结果,首先需要调用该接口获取 ResultId,然后使用返回数据的 ResultId,重新发起调用,直到 isFinish 取值为 true 时,返回完整结果。即获取一次完整数据,至少需要调用该接口两次。
对于 RDS MySQL 8.0 实例,小版本小于 20230610 时,并发执行 COM_STATISTICS、COM_CHANGE_USER 等命令和 SHOW PROCESSLIST 语句时,可能导致死锁(表现为实例无法连接),建议升级到最新小版本。
-
本接口只适用于 RDS MySQL,PolarDB MySQL 版和 PolarDB-X 2.0 实例。
-
使用阿里云或 DAS 的 SDK 时,建议使用最新版本。
-
在使用 SDK 调用 DAS 服务时,需要将地域指定为 cn-shanghai。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
hdm:GetMySQLAllSessionAsync |
get |
*全部资源
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| InstanceId |
string |
是 |
实例 ID。 说明
仅支持 RDS MySQL、PolarDB MySQL 版和 PolarDB-X 2.0 实例。 |
rm-2ze8g2am97624**** |
| NodeId |
string |
否 |
节点 ID。 说明
对于 PolarDB MySQL 版实例,需要提供节点 ID。不指定节点 ID 时,默认返回主节点的会话数据。 |
pi-wz954ryd8f893**** |
| ResultId |
string |
否 |
异步请求的 ID。 说明
异步调用方式不会立即返回完整结果,首先需要调用该接口获取 ResultId,然后使用返回数据的 ResultId,重新发起调用,直到 isFinish 取值为 true 时,返回完整结果。即获取一次完整数据,至少需要调用该接口两次。 |
async__507044db6c4eadfa2dab9b084e80**** |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| Code |
integer |
返回的状态码。 |
200 |
| Message |
string |
请求返回消息。 说明
请求成功时该参数返回 Successful,请求失败时会返回请求异常信息(如错误码等) |
Successful |
| Data |
object |
返回的数据。 |
|
| Fail |
boolean |
请求是否失败:
|
false |
| SessionData |
object |
会话数据。 |
|
| TotalSessionCount |
integer |
会话总数。 |
988 |
| ActiveSessionCount |
integer |
运行中会话总数。 |
10 |
| MaxActiveTime |
integer |
运行中会话执行的最长时间,单位为秒(s)。 |
6 |
| SessionList |
array<object> |
会话列表。 |
|
|
object |
会话。 |
||
| SessionId |
integer |
会话 ID。 |
14521783 |
| User |
string |
数据库用户名。 |
testUser |
| Client |
string |
客户端 IP 地址。 |
47.100.XX.XX |
| DbName |
string |
数据库名。 |
dbTest |
| Command |
string |
会话执行的命令类型。 |
Query |
| Time |
integer |
会话执行时间,单位为秒(s)。 |
6 |
| State |
string |
会话状态。 |
starting |
| SqlText |
string |
会话执行的 SQL 语句。 |
INSERT INTO ... |
| UserClientAlias |
string |
客户端 IP 别名。 |
master-shanghai |
| TrxId |
string |
会话所在事务 ID。 |
754300775132 |
| TrxDuration |
integer |
事务持续时间,单位为秒(s)。 |
6 |
| SqlTemplateId |
string |
SQL 模板 ID。 说明
仅 PolarDB-X 2.0 实例返回该字段。 |
a7cac1a9 |
| UserStats |
array<object> |
按数据库账号统计会话。 |
|
|
object |
|||
| Key |
string |
数据库账号名。 |
testUser |
| TotalCount |
integer |
该账号会话总数。 |
2 |
| ActiveCount |
integer |
该账号活跃会话数。 说明
活跃会话判断逻辑: 命令是 Query 或者 Execute,以及未结束事务中的会话。 |
1 |
| ThreadIdList |
array |
该账号对应的会话 ID 列表。 |
|
|
integer |
会话 ID 列表。 |
[14525727,14526269] |
|
| UserList |
array |
会话对应的账号列表。 |
|
|
string |
数据库账号。 |
['testUser'] |
|
| ClientStats |
array<object> |
按客户端 IP 统计会话。 |
|
|
object |
|||
| Key |
string |
客户端 IP 地址。 |
47.100.XX.XX |
| TotalCount |
integer |
该客户端 IP 地址下的会话总数。 |
2 |
| ActiveCount |
integer |
该客户端 IP 地址下的活跃会话数。 说明
活跃会话判断逻辑: 命令是 Query 或者 Execute,以及未结束事务中的会话。 |
1 |
| ThreadIdList |
array |
该客户端 IP 对应的会话 ID 列表。 |
|
|
integer |
会话 ID 列表。 |
[14526018,14525956] |
|
| UserList |
array |
会话对应的账号列表。 |
|
|
string |
数据库账号。 |
['testUser'] |
|
| DbStats |
array<object> |
按数据库统计会话。 |
|
|
object |
|||
| Key |
string |
数据库名。 |
dbTest |
| TotalCount |
integer |
该数据库会话总数。 |
2 |
| ActiveCount |
integer |
该数据库活跃会话数。 说明
活跃会话判断逻辑: 命令是 Query 或者 Execute,以及未结束事务中的会话。 |
1 |
| ThreadIdList |
array |
该数据库名对应的会话 ID 列表。 |
|
|
integer |
会话 ID 列表。 |
[14525727,14526269] |
|
| UserList |
array |
会话对应的账号列表。 |
|
|
string |
数据库账号。 |
['testUser'] |
|
| TimeStamp |
integer |
获取会话的时间,格式为 Unix 时间戳,单位为毫秒。 |
1659581514000020 |
| ResultId |
string |
异步请求 ID。 |
async__507044db6c4eadfa2dab9b084e80**** |
| IsFinish |
boolean |
异步请求是否执行完成:
|
true |
| State |
string |
异步请求的执行状态:
|
SUCCESS |
| Complete |
boolean |
异步请求是否执行完成:
|
true |
| Timestamp |
integer |
执行时间,格式为 Unix 时间戳,单位为毫秒(ms)。 |
1660100753556 |
| RequestId |
string |
请求 ID。 |
B6D17591-B48B-4D31-9CD6-9B9796B2**** |
| Success |
boolean |
请求是否执行成功:
|
true |
示例
正常返回示例
JSON格式
{
"Code": 200,
"Message": "Successful",
"Data": {
"Fail": false,
"SessionData": {
"TotalSessionCount": 988,
"ActiveSessionCount": 10,
"MaxActiveTime": 6,
"SessionList": [
{
"SessionId": 14521783,
"User": "testUser",
"Client": "47.100.XX.XX",
"DbName": "dbTest",
"Command": "Query",
"Time": 6,
"State": "starting",
"SqlText": "INSERT INTO ...",
"UserClientAlias": "master-shanghai",
"TrxId": "754300775132",
"TrxDuration": 6,
"SqlTemplateId": "a7cac1a9"
}
],
"UserStats": [
{
"Key": "testUser",
"TotalCount": 2,
"ActiveCount": 1,
"ThreadIdList": [
0
],
"UserList": [
"['testUser']"
]
}
],
"ClientStats": [
{
"Key": "47.100.XX.XX",
"TotalCount": 2,
"ActiveCount": 1,
"ThreadIdList": [
0
],
"UserList": [
"['testUser']"
]
}
],
"DbStats": [
{
"Key": "dbTest",
"TotalCount": 2,
"ActiveCount": 1,
"ThreadIdList": [
0
],
"UserList": [
"['testUser']"
]
}
],
"TimeStamp": 1659581514000020
},
"ResultId": "async__507044db6c4eadfa2dab9b084e80****",
"IsFinish": true,
"State": "SUCCESS",
"Complete": true,
"Timestamp": 1660100753556
},
"RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
"Success": true
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | InvalidParams | The request parameters are invalid. | 请求参数错误 |
| 403 | NoPermission | You are not authorized to do this action. | 没有权限执行该操作 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。