GetRequestDiagnosisPage - 分页获取SQL诊断历史记录

更新时间:
复制为 MD 格式

调用GetRequestDiagnosisPage接口,分页获取SQL诊断历史记录。

接口说明

使用该接口需满足以下前提条件:

  • 在使用 SDK 调用 DAS 服务时,需要将地域指定为 cn-shanghai。

  • 本接口适用的数据库引擎为:

    • RDS MySQL

    • RDS PostgreSQL

    • RDS SQL Server

    • PolarDB MySQL 版

    • PolarDB PostgreSQL 版(兼容 Oracle)

    • 云数据库 MongoDB 版

说明

RDS PostgreSQL 实例内核小版本为 20220130 及以上。查看和升级内核小版本,请参见升级内核小版本

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

hdm:GetRequestDiagnosisPage

get

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

InstanceId

string

实例 ID。

rm-0iwhhl8gx0ld6****

NodeId

string

节点 ID。

说明

对于 PolarDB MySQL 版、PolarDB PostgreSQL 版(兼容 Oracle)和云数据库 MongoDB 等集群实例,需要提供节点 ID。

202****

PageNo

integer

页码,取值大于 0 且不超过 Integer 数据类型的最大值,默认值为 1。

1

PageSize

integer

每页最大记录数,取值大于 0 且不超过 Integer 数据类型的最大值,默认值为 10。

10

StartTime

integer

查询任务的开始时间,格式为 Unix 时间戳,单位为毫秒。

1633071840000

EndTime

integer

查询任务的结束时间,格式为 Unix 时间戳,单位为毫秒。

1634972640000

返回参数

名称

类型

描述

示例值

object

Message

string

请求返回消息。

说明

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

Successful

RequestId

string

请求的 ID。

800FBAF5-A539-5B97-A09E-C63AB2F7****

Data

object

返回数据。

list

array<object>

SQL 诊断历史记录列表。

object

SQL 诊断历史记录列表。

messageId

string

诊断 ID,唯一标识。

61820b594664275c4429****

uuid

string

诊断实例的唯一标识。

hdm_51fe9bc19ec413f4d530431af87a****

accountId

string

用户 ID。

2093****

sqlId

string

SQL 模板 ID。

0c95dae3afef77be06572612df9b****

engine

string

数据库引擎:

  • MySQL

  • PostgreSQL

  • SQLServer

  • PolarDBMySQL

  • PolarDBOracle

  • MongoDB

MySQL

dbSchema

string

数据库名。

das

param

string

额外信息。

{"":""}

state

integer

诊断状态:

  • 0:诊断中。

  • 1:诊断错误。

  • 2:诊断完成。

  • 3:SQL 错误。

  • 4:引擎错误。

2

result

string

SQL 诊断结果:

  • endTime:SQL 诊断的结束时间。

  • errorCode:错误码。
    • 0001:诊断成功。

    • 0003:诊断失败。

  • errorMessage:错误信息。

  • estimateCost:预估得消耗。
    • cpu:索引的 CPU 消耗预估值。

    • io:索引的 IO 消耗预估值。

    • rows:索引的返回列预估值。

  • improvement:性能提升比。

  • indexAdvices:索引建议。
    • columns:索引列。

    • ddlAddIndex:索引 DDL 语句。

    • indexName:索引名。

    • schemaName:数据库名。

    • tableName:表名。

    • unique:是否唯一索引。

  • ip:实例的 IP 地址。

  • messageId:诊断 ID。

  • port:实例的端口。

  • sqlTag:SQL 标签。

  • startTime:SQL 诊断的开始时间。

  • success:请求是否执行成功。

  • support:SQL 语句是否支持诊断。
    • true:支持。

    • false:不支持。

  • tuningAdvices:SQL 改写建议。

{ "endTime":1636354256000, "errorCode":"0001", "errorMessage":"TFX成功", "estimateCost":{ "cpu":1.7878745150389268, "io":9.948402604746128, "rows":8.889372575194633 }, "improvement":12933.97, "indexAdvices":[ { "columns":[ "work_no" ], "ddlAddIndex":"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)", "indexName":"idx_workno", "schemaName":"test", "tableName":"work_order", "unique":false } ], "ip":"****.mysql.rds.aliyuncs.com", "messageId":"6188c8cb2f1365b16aee****", "port":3306, "sqlTag":"{\"PRED_EQUAL\":\"Y\",\"CNT_QB\":\"1\",\"CNT_TB\":\"1\"}", "startTime":1636354252000, "success":true, "support":true, "tuningAdvices":[ ] }

gmtCreate

string

SQL 诊断创建时间,格式为 Unix 时间戳,单位为毫秒。

1633071840000

gmtModified

string

SQL 诊断修改时间,格式为 Unix 时间戳,单位为毫秒。

1633071850000

pageNo

integer

页码,取值大于 0 且不超过 Integer 数据类型的最大值,默认值为 1。

1

pageSize

integer

每页最大记录数,取值大于 0 且不超过 Integer 数据类型的最大值,默认值为 10。

10

total

integer

查询到的总数。

100

extra

string

其他信息。

{"":""}

Code

string

状态码。

200

Success

string

请求是否执行成功:

  • true:执行成功。

  • false:执行失败。

true

示例

正常返回示例

JSON格式

{
  "Message": "Successful",
  "RequestId": "800FBAF5-A539-5B97-A09E-C63AB2F7****",
  "Data": {
    "list": [
      {
        "messageId": "61820b594664275c4429****",
        "uuid": "hdm_51fe9bc19ec413f4d530431af87a****",
        "accountId": "2093****",
        "sqlId": "0c95dae3afef77be06572612df9b****",
        "engine": "MySQL",
        "dbSchema": "das",
        "param": "{\"\":\"\"}",
        "state": 2,
        "result": "{     \"endTime\":1636354256000,     \"errorCode\":\"0001\",     \"errorMessage\":\"TFX成功\",     \"estimateCost\":{         \"cpu\":1.7878745150389268,         \"io\":9.948402604746128,         \"rows\":8.889372575194633     },     \"improvement\":12933.97,     \"indexAdvices\":[         {             \"columns\":[                 \"work_no\"             ],             \"ddlAddIndex\":\"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)\",             \"indexName\":\"idx_workno\",             \"schemaName\":\"test\",             \"tableName\":\"work_order\",             \"unique\":false         }     ],     \"ip\":\"****.mysql.rds.aliyuncs.com\",     \"messageId\":\"6188c8cb2f1365b16aee****\",     \"port\":3306,     \"sqlTag\":\"{\\\"PRED_EQUAL\\\":\\\"Y\\\",\\\"CNT_QB\\\":\\\"1\\\",\\\"CNT_TB\\\":\\\"1\\\"}\",     \"startTime\":1636354252000,     \"success\":true,     \"support\":true,     \"tuningAdvices\":[      ] }",
        "gmtCreate": "1633071840000",
        "gmtModified": "1633071850000"
      }
    ],
    "pageNo": 1,
    "pageSize": 10,
    "total": 100,
    "extra": "{\"\":\"\"}"
  },
  "Code": "200",
  "Success": "true"
}

错误码

HTTP status code

错误码

错误信息

描述

400 InvalidParams The request parameters are invalid. 请求参数错误
403 NoPermission You are not authorized to do this action. 没有权限执行该操作

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

变更历史

更多信息,参考变更详情