文档

GetStorageAnalysisResult - 获取空间分析任务的结果

更新时间:

调用GetStorageAnalysisResult接口,查询空间分析任务状态和分析结果。

接口说明

说明 物理文件大小获取的是文件真实大小(需实例部署形态支持);表级别其他数据基于information_schema.tables。由于 MySQL 中统计信息不是实时更新,所以可能和物理文件大小存在差异,如有需要获取最新数据,可在业务低峰时期对相关的表执行ANALYZE TABLE
  • 本接口只适用于 RDS MySQL 和 PolarDB MySQL 版实例。
  • 使用阿里云或 DAS 的 SDK 时,建议使用最新版本。
  • 在使用 SDK 调用 DAS 服务时,需要将地域指定为 cn-shanghai。

调试

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

授权信息

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

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
hdm:GetStorageAnalysisResultWrite
  • 全部资源
    *

请求参数

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

实例 ID。

rm-2ze1jdv45i7l6****
NodeIdstring

节点 ID。

说明 预留参数。
None
TaskIdstring

任务 ID,调用 CreateStorageAnalysisTask 接口返回的任务 ID。

910f83f4b96df0524ddc5749f615****

返回参数

名称类型描述示例值
object
Codelong

返回的状态码。

200
Messagestring

请求返回消息。

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

返回的数据。

TaskIdstring

任务 ID。

910f83f4b96df0524ddc5749f615****
TaskFinishboolean

任务是否结束:

  • true:任务结束。
  • false:任务未结束。
true
TaskSuccessboolean

任务是否成功:

  • true:执行成功。
  • false:执行失败。
说明 当任务结束时才返回该字段。
true
TaskStatestring

空间分析任务的状态:

  • INIT:初始化。
  • PENDING:等待执行。
  • RECEIVED:任务已选择。
  • RUNNING:任务执行中。
  • RETRY:重试任务。
  • SUCCESS:任务成功。
  • FAILURE:任务失败。
SUCCESS
TaskProgresslong

任务进度,取值为 0~100 的整数。

说明 例如取值为 100 时,表示任务进度 100%。
100
TotalDbCountlong

空间分析任务需要分析的数据库数量。

32
AnalyzedDbCountlong

已分析结束的数据库数量。

2
StorageAnalysisResultobject

空间分析详情。

TotalStorageSizelong

实例总空间大小,单位为 Byte。

说明 当前仅支持 RDS MySQL。
214748364800
TotalUsedStorageSizelong

已使用的空间,单位为 Byte。

68345135104
TotalFreeStorageSizelong

剩余可用空间,单位为 Byte。

说明 当前仅支持 RDS MySQL。
146403229696
DailyIncrementlong

近一周空间日均增长量估算值,单位为 Byte。

0
EstimateAvailableDayslong

剩余空间可使用天数估算值。

99
AnalysisSuccessboolean

数据库和表空间分析是否成功。

  • true:成功。
  • false:失败。
true
AnalysisErrorTypestring

数据库和表空间分析任务失败类型:

  • DB_OR_TABLE_NOT_EXIST:指定的数据库或表不存在。
  • DB_NOT_EXIST:指定的数据库不存在。
DB_NOT_EXIST
NeedOptimizeItemListobject []

根据 DAS 默认规则生成的待优化项列表。用户也可根据自身业务情况忽略该列表中的内容,然后根据接口返回的其他基础数据自定义规则生成待优化项列表。

DbNamestring

数据库名。

testdb01
TableNamestring

表名。

test_table
OptimizeItemNamestring

待优化项:

  • NEED_ANALYZE_TABLEinformation_schema.tables中该表空间统计数据和物理文件大小差值超过 50 GB。
  • NEED_OPTIMIZE_TABLE:表的碎片空间大于 6 GB,并且碎片率大于 30%。表的碎片率计算方式一般为:DataFree/(DataSize+IndexSize+DataFree),本接口中即DataFree/PhyTotalSize
  • TABLE_ENGINE:表使用的存储引擎不是 InnoDB 或者 XEngine。
  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT:表自增 ID 使用率超过 80%。
  • DUPLICATE_INDEX:索引冗余或者重复。
  • TABLE_SIZE:单表空间大于 50 GB。
  • TABLE_ROWS_AND_AVG_ROW_LENGTH:单表行数大于 500 万,且平均行长大于 10 KB。
  • TOTAL_DATA_FREE:实例可回收空间大于 60 GB,且总碎片率大于 5%。
  • STORAGE_USED_PERCENT:实例空间使用率大于 90%。
NEED_OPTIMIZE_TABLE
OptimizeAdvicestring

优化建议:

  • NEED_ANALYZE_TABLE:如有需要可在业务低峰时期对相关的表执行ANALYZE TABLE

  • NEED_OPTIMIZE_TABLE:如有需要可在业务低峰时期进行表空间碎片回收。

  • CHANGE_TABLE_ENGINE_IF_NECESSARY:如果有需要可以在评估风险后更改表的存储引擎类型。

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT:注意自增 ID 使用情况。

  • DUPLICATE_INDEX:建议优化精简表上的索引。

  • TABLE_SIZE:注意表大小。

  • TABLE_ROWS_AND_AVG_ROW_LENGTH:注意表行数以及平均行长。

  • STORAGE_USED_PERCENT:注意空间使用情况,避免实例写满后锁定。

NEED_OPTIMIZE_TABLE
AssociatedDatastring

待优化项关联数据,以 JSON 格式返回。

{ "autoIncrementCurrentValue": 2147483647, "autoIncrementRatio": 1, "dbName": "testdb01", "maximumValue": 2147483647, "columnName": "id", "tableName": "test_table" }
TableStatsobject []

表空间数据列表。

DbNamestring

数据库名。

testdb01
TableNamestring

表名。

test_table
TableTypestring

表类型。

BASE TABLE
Enginestring

表使用的存储引擎类型。

InnoDB
PhysicalFileSizelong

表物理文件大小,单位为 Byte。

说明 部分实例因部署形态的原因不支持获取该数据。
3057655808
PhyTotalSizelong

表空间大小,单位为 Byte。

说明 取值为 DataSizeIndexSizeDataFree 之和。
3012493312
TotalSizelong

表数据和索引占用空间大小,单位为 Byte。

说明 取值为 DataSizeIndexSize 之和。
3005153280
IndexSizelong

索引占用的空间大小,单位为 Byte。

1022296064
DataSizelong

数据占用的空间大小,单位为 Byte。

1982857216
DataFreelong

碎片空间大小,单位为 Byte。

7340032
TableRowslong

表行数。

12794732
AvgRowLengthlong

平均行长,单位为 Byte。

154
RequestIdstring

请求 ID。

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

请求是否执行成功:

  • true:执行成功。
  • false:执行失败。
true

示例

正常返回示例

JSON格式

{
  "Code": 200,
  "Message": "Successful",
  "Data": {
    "TaskId": "910f83f4b96df0524ddc5749f615****",
    "TaskFinish": true,
    "TaskSuccess": true,
    "TaskState": "SUCCESS",
    "TaskProgress": 100,
    "TotalDbCount": 32,
    "AnalyzedDbCount": 2,
    "StorageAnalysisResult": {
      "TotalStorageSize": 214748364800,
      "TotalUsedStorageSize": 68345135104,
      "TotalFreeStorageSize": 146403229696,
      "DailyIncrement": 0,
      "EstimateAvailableDays": 99,
      "AnalysisSuccess": true,
      "AnalysisErrorType": "DB_NOT_EXIST",
      "NeedOptimizeItemList": [
        {
          "DbName": "testdb01",
          "TableName": "test_table",
          "OptimizeItemName": "NEED_OPTIMIZE_TABLE",
          "OptimizeAdvice": "NEED_OPTIMIZE_TABLE",
          "AssociatedData": "{\n    \"autoIncrementCurrentValue\": 2147483647,\n    \"autoIncrementRatio\": 1,\n    \"dbName\": \"testdb01\",\n    \"maximumValue\": 2147483647,\n    \"columnName\": \"id\",\n    \"tableName\": \"test_table\"\n}"
        }
      ],
      "TableStats": [
        {
          "DbName": "testdb01",
          "TableName": "test_table",
          "TableType": "BASE TABLE",
          "Engine": "InnoDB",
          "PhysicalFileSize": 3057655808,
          "PhyTotalSize": 3012493312,
          "TotalSize": 3005153280,
          "IndexSize": 1022296064,
          "DataSize": 1982857216,
          "DataFree": 7340032,
          "TableRows": 12794732,
          "AvgRowLength": 154
        }
      ]
    }
  },
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success": true
}

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe request parameters are invalid.请求参数错误
403NoPermissionYou are not authorized to do this action.没有权限执行该操作

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

  • 本页导读 (1)
文档反馈