GetMySQLAllSessionAsync - 获取实例当前会话

调用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:GetMySQLAllSessionAsyncget
    *全部资源
    *

    请求参数

    名称类型必填描述示例值
    InstanceIdstring

    实例 ID。

    说明 仅支持 RDS MySQL、PolarDB MySQL 版和 PolarDB-X 2.0 实例。
    rm-2ze8g2am97624****
    NodeIdstring

    节点 ID。

    说明 对于 PolarDB MySQL 版实例,需要提供节点 ID。不指定节点 ID 时,默认返回主节点的会话数据。
    pi-wz954ryd8f893****
    ResultIdstring

    异步请求的 ID。

    说明 异步调用方式不会立即返回完整结果,首先需要调用该接口获取 ResultId,然后使用返回数据的 ResultId,重新发起调用,直到 isFinish 取值为 true 时,返回完整结果。即获取一次完整数据,至少需要调用该接口两次。
    async__507044db6c4eadfa2dab9b084e80****

    返回参数

    名称类型描述示例值
    object
    Codelong

    返回的状态码。

    200
    Messagestring

    请求返回消息。

    说明 请求成功时该参数返回 Successful,请求失败时会返回请求异常信息(如错误码等)
    Successful
    Dataobject

    返回的数据。

    Failboolean

    请求是否失败:

    • true:是。

    • false:否。

    false
    SessionDataobject

    会话数据。

    TotalSessionCountlong

    会话总数。

    988
    ActiveSessionCountlong

    运行中会话总数。

    10
    MaxActiveTimelong

    运行中会话执行的最长时间,单位为秒(s)。

    6
    SessionListarray<object>

    会话列表。

    sessionListobject

    会话。

    SessionIdlong

    会话 ID。

    14521783
    Userstring

    数据库用户名。

    testUser
    Clientstring

    客户端 IP 地址。

    47.100.XX.XX
    DbNamestring

    数据库名。

    dbTest
    Commandstring

    会话执行的命令类型。

    Query
    Timelong

    会话执行时间,单位为秒(s)。

    6
    Statestring

    会话状态。

    starting
    SqlTextstring

    会话执行的 SQL 语句。

    INSERT INTO ...
    UserClientAliasstring

    客户端 IP 别名。

    master-shanghai
    TrxIdstring

    会话所在事务 ID。

    754300775132
    TrxDurationlong

    事务持续时间,单位为秒(s)。

    6
    SqlTemplateIdstring

    SQL 模板 ID。

    说明 仅 PolarDB-X 2.0 实例返回该字段。
    a7cac1a9
    UserStatsarray<object>

    按数据库账号统计会话。

    userStatsobject
    Keystring

    数据库账号名。

    testUser
    TotalCountlong

    该账号会话总数。

    2
    ActiveCountlong

    该账号活跃会话数。

    说明 活跃会话判断逻辑: 命令是 Query 或者 Execute,以及未结束事务中的会话。
    1
    ThreadIdListarray

    该账号对应的会话 ID 列表。

    threadIdListlong

    会话 ID 列表。

    [14525727,14526269]
    UserListarray

    会话对应的账号列表。

    userListstring

    数据库账号。

    ['testUser']
    ClientStatsarray<object>

    按客户端 IP 统计会话。

    clientStatsobject
    Keystring

    客户端 IP 地址。

    47.100.XX.XX
    TotalCountlong

    该客户端 IP 地址下的会话总数。

    2
    ActiveCountlong

    该客户端 IP 地址下的活跃会话数。

    说明 活跃会话判断逻辑: 命令是 Query 或者 Execute,以及未结束事务中的会话。
    1
    ThreadIdListarray

    该客户端 IP 对应的会话 ID 列表。

    threadIdListlong

    会话 ID 列表。

    [14526018,14525956]
    UserListarray

    会话对应的账号列表。

    userListstring

    数据库账号。

    ['testUser']
    DbStatsarray<object>

    按数据库统计会话。

    dbStatsobject
    Keystring

    数据库名。

    dbTest
    TotalCountlong

    该数据库会话总数。

    2
    ActiveCountlong

    该数据库活跃会话数。

    说明 活跃会话判断逻辑: 命令是 Query 或者 Execute,以及未结束事务中的会话。
    1
    ThreadIdListarray

    该数据库名对应的会话 ID 列表。

    threadIdListlong

    会话 ID 列表。

    [14525727,14526269]
    UserListarray

    会话对应的账号列表。

    userListstring

    数据库账号。

    ['testUser']
    TimeStamplong

    获取会话的时间,格式为 Unix 时间戳,单位为毫秒。

    1659581514000020
    ResultIdstring

    异步请求 ID。

    async__507044db6c4eadfa2dab9b084e80****
    IsFinishboolean

    异步请求是否执行完成:

    • true:是。

    • false:否。

    true
    Statestring

    异步请求的执行状态:

    • RUNNING:正在运行。

    • SUCCESS:成功。

    • FAIL:失败。

    SUCCESS
    Completeboolean

    异步请求是否执行完成:

    • true:是。

    • false:否。

    true
    Timestamplong

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

    1660100753556
    RequestIdstring

    请求 ID。

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

    请求是否执行成功:

    • 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错误码错误信息描述
    400InvalidParamsThe request parameters are invalid.请求参数错误
    403NoPermissionYou are not authorized to do this action.没有权限执行该操作

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

    变更历史

    变更时间变更内容概要操作
    2023-08-25OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更查看变更详情