GetMySQLAllSessionAsync - 获取实例当前会话

更新时间:
复制为 MD 格式

调用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代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

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

请求是否失败:

  • true:是。

  • false:否。

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:是。

  • false:否。

true

State

string

异步请求的执行状态:

  • RUNNING:正在运行。

  • SUCCESS:成功。

  • FAIL:失败。

SUCCESS

Complete

boolean

异步请求是否执行完成:

  • true:是。

  • false:否。

true

Timestamp

integer

执行时间,格式为 Unix 时间戳,单位为毫秒(ms)。

1660100753556

RequestId

string

请求 ID。

B6D17591-B48B-4D31-9CD6-9B9796B2****

Success

boolean

请求是否执行成功:

  • true:执行成功。

  • false:执行失败。

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. 没有权限执行该操作

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情