調用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. | 沒有許可權執行該操作 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。