Todos los productos
Search
Centro de documentos

Database Autonomy Service:GetStorageAnalysisResult

Última actualización: Sep 01, 2026

Consulta el estado y los resultados de una tarea de análisis de almacenamiento.

Descripción de la operación

Nota

El tamaño del archivo físico indica el tamaño real de un archivo obtenido. Solo ciertos modos de despliegue de instancias de base de datos admiten la visualización de tamaños de archivos físicos. Las estadísticas de las tablas se obtienen de information_schema.tables. Las estadísticas en MySQL no se actualizan en tiempo real. Por lo tanto, las estadísticas pueden diferir de los tamaños de los archivos físicos. Si desea obtener los datos más recientes, puede ejecutar la sentencia ANALYZE TABLE en las tablas correspondientes durante las horas de menor actividad.

  • Esta operación solo es aplicable a instancias de ApsaraDB RDS for MySQL, clústeres de PolarDB for MySQL e instancias de ApsaraDB for MongoDB.

  • Para instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL, esta operación funciona igual que la función de análisis de almacenamiento de la versión anterior. Las tareas generadas por esta operación no se pueden ver en la página Análisis de almacenamiento de la nueva versión en la consola de Database Autonomy Service (DAS). Si desea ver las tareas y los resultados, llame a la operación de API correspondiente para obtener los datos y guárdelos en su computadora.

  • Si utiliza un SDK de Alibaba Cloud o un SDK de DAS para llamar a esta operación, se recomienda que utilice la versión más reciente del SDK.

  • Si utiliza un SDK para llamar a operaciones de DAS, debe establecer el ID de región en cn-shanghai.

Pruébelo ahora

Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.

Test

Autorización de RAM

La siguiente tabla describe la autorización necesaria para invocar esta API. Puede definirla en una directiva de Resource Access Management (RAM). A continuación, se detallan las columnas de la tabla:

  • Action: Estas acciones se utilizan en el elemento Action de las declaraciones de directivas de permisos de RAM para otorgar permisos que permitan realizar la operación.

  • API: La API que debe invocarse para llevar a cabo la acción.

  • Nivel de acceso: Nivel de acceso predefinido que se concede para cada API. Valores válidos: create, list, get, update y delete.

  • Tipo de recurso: Tipo de recurso que admite autorización para ejecutar la acción. Indica si la acción es compatible con permisos a nivel de recurso. El recurso especificado debe ser compatible con la acción; de lo contrario, la directiva no surtirá efecto.

    • En las API con permisos a nivel de recurso, los tipos de recursos obligatorios se marcan con un asterisco (*). Especifique el Alibaba Cloud Resource Name (ARN) correspondiente en el elemento Resource de la directiva.

    • Para las API sin permisos a nivel de recurso, se muestra All Resources. Utilice un asterisco (*) en el elemento Resource de la directiva.

  • Clave de condición: Claves de condición definidas por el servicio. Permiten un control granular y se aplican ya sea solo a acciones o a acciones asociadas con recursos específicos. Además de las claves de condición específicas del servicio, Alibaba Cloud proporciona un conjunto de common condition keys aplicables a todos los servicios compatibles con RAM.

  • Acción dependiente: Acciones dependientes necesarias para ejecutar la acción principal. Para completar la operación, el usuario de RAM o el rol de RAM debe contar con permisos para realizar todas las acciones dependientes.

Action

Nivel de acceso

Tipo de recurso

Clave de condición

Acción dependiente

hdm:GetStorageAnalysisResult

none

*All Resource

*

Ninguna Ninguna

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

InstanceId

string

Sí

El ID de la instancia.

rm-bp10xxxxxxxxx

NodeId

string

No

El ID del nodo.

Nota

Este parámetro está reservado.

202****

TaskId

string

Sí

El ID de la tarea. Puede obtener el ID de la tarea de la respuesta de la operación CreateStorageAnalysisTask.

910f83f4b96df0524ddc5749f615****

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

The response parameters.

Code

integer

El código de estado HTTP devuelto.

200

Message

string

El mensaje devuelto.

Nota

Si la solicitud se realiza correctamente, se devuelve Successful. De lo contrario, se devuelve un mensaje de error, como un código de error.

Successful

Data

object

Los datos devueltos.

TaskId

string

El ID de la tarea.

910f83f4b96df0524ddc5749f615****

TaskFinish

boolean

Indica si la tarea ha finalizado.

true

TaskSuccess

boolean

Indica si la tarea se realizó correctamente.

true

TaskState

string

El estado de la tarea de análisis de almacenamiento. Valores válidos:

  • INIT: La tarea se está inicializando.

  • PENDING: La tarea está en cola para su ejecución.

  • RECEIVED: La tarea se recibió para su ejecución.

  • RUNNING: La tarea se está ejecutando.

  • RETRY: Se está reintentando la tarea.

  • SUCCESS: La tarea se realizó correctamente.

  • FAILURE: La tarea falló.

RUNNING

TaskProgress

integer

El progreso de la tarea.

Nota

Los valores válidos son números enteros que van de 0 a 100.

50

TotalDbCount

integer

El número de bases de datos que deben analizarse en la tarea de análisis de almacenamiento.

32

AnalyzedDbCount

integer

El número de bases de datos que se han analizado.

2

StorageAnalysisResult

object

Los detalles del análisis de almacenamiento.

TotalStorageSize

integer

El tamaño total del almacenamiento de la instancia.

Nota

Unidad: bytes.

214748364800

TotalUsedStorageSize

integer

El tamaño del almacenamiento utilizado.

Nota

Unidad: bytes.

68345135104

TotalFreeStorageSize

integer

El tamaño del almacenamiento restante.

Nota

Unidad: bytes.

146403229696

DailyIncrement

integer

El crecimiento diario promedio estimado del espacio de almacenamiento utilizado en los últimos siete días. Unidad: bytes.

0

EstimateAvailableDays

integer

El número estimado de días durante los cuales estará disponible el espacio de almacenamiento restante.

99

AnalysisSuccess

boolean

Indica si el análisis de la base de datos y la tabla se realizó correctamente.

true

AnalysisErrorType

string

El motivo por el cual falló el análisis de la base de datos y la tabla.

  • DB_OR_TABLE_NOT_EXIST: La base de datos o la tabla especificada no existe.

  • DB_NOT_EXIST: La base de datos especificada no existe.

DB_NOT_EXIST

NeedOptimizeItemList

array<object>

Los elementos que deben optimizarse, generados según las reglas predeterminadas de DAS. Puede ignorar estos elementos según sus requisitos comerciales y crear reglas personalizadas para generar elementos que deben optimizarse basándose en otros datos básicos devueltos.

object

DbName

string

El nombre de la base de datos.

testdb01

TableName

string

El nombre de la tabla.

test_table

OptimizeItemName

string

El elemento que debe optimizarse. Valores válidos:

  • NEED_ANALYZE_TABLE: tablas cuyas estadísticas de almacenamiento obtenidas de information_schema.tables son 50 GB mayores o menores que los tamaños de los archivos físicos. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • NEED_OPTIMIZE_TABLE: tablas cuyos fragmentos de espacio son mayores a 6 GB y cuyas tasas de fragmentación superan el 30%. La tasa de fragmentación de una tabla generalmente se calcula mediante las siguientes fórmulas:

    • ApsaraDB RDS for MySQL y PolarDB for MySQL: Tasa de fragmentación = DataFree/(DataSize + IndexSize + DataFree). En este tema, PhyTotalSize = DataSize + IndexSize + DataFree. Por lo tanto, la tasa de fragmentación se puede calcular con la siguiente fórmula: Tasa de fragmentación = DataFree/PhyTotalSize.

    • ApsaraDB for MongoDB: Tasa de fragmentación = FragmentSize/PhyTotalSize.

  • TABLE_ENGINE: tablas cuyos motores de almacenamiento no son InnoDB ni XEngine. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: tablas cuyo uso de ID de incremento automático supera el 80%. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • DUPLICATE_INDEX: tablas cuyos índices son redundantes o duplicados. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • TABLE_SIZE: tablas individuales cuyos tamaños superan los 50 GB. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: tablas individuales que contienen más de 5 millones de filas y cuyas longitudes promedio de fila superan los 10 KB. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • TOTAL_DATA_FREE: instancias cuyo espacio recuperable es mayor a 60 GB y cuya tasa de fragmentación total es mayor al 5%.

  • STORAGE_USED_PERCENT: instancias cuyo uso de espacio es mayor al 90%.

NEED_OPTIMIZE_TABLE

OptimizeAdvice

string

La sugerencia de optimización. Valores válidos:

  • NEED_ANALYZE_TABLE: Puede ejecutar la sentencia ANALYZE TABLE en la tabla durante las horas de menor actividad. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • NEED_OPTIMIZE_TABLE: Puede recuperar fragmentos durante las horas de menor actividad.

  • CHANGE_TABLE_ENGINE_IF_NECESSARY: Cambie el tipo de motor de almacenamiento de una tabla después de realizar una evaluación de riesgos. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: Preste atención al uso de los ID de incremento automático. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • DUPLICATE_INDEX: Optimice los índices de las tablas. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • TABLE_SIZE: Preste atención al tamaño de la tabla. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: Preste atención al número de filas en una tabla y a la longitud promedio de fila. Esto solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

  • STORAGE_USED_PERCENT: Preste atención al uso de espacio para evitar que la instancia se bloquee si se llena.

NEED_OPTIMIZE_TABLE

AssociatedData

string

Los datos asociados con los elementos que deben optimizarse, en formato JSON.

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

TableStats

array<object>

La información sobre la tabla.

object

DbName

string

El nombre de la base de datos.

testdb01

TableName

string

El nombre de la tabla.

test_table

TableType

string

El tipo de la tabla.

Nota

Este parámetro solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

BASE TABLE

Engine

string

El tipo de motor de almacenamiento utilizado por la tabla.

Nota

Este parámetro solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL.

InnoDB

PhysicalFileSize

integer

El tamaño del archivo físico de la tabla. Unidad: bytes.

Nota

Este parámetro solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL. No se pueden obtener datos de ciertas instancias de base de datos debido al modo de despliegue.

3057655808

PhyTotalSize

integer

El espacio de almacenamiento de la tabla. Unidad: bytes.

Nota

Para instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL, el valor del parámetro es la suma de DataSize, IndexSize y DataFree. Para instancias de ApsaraDB for MongoDB, el valor de este parámetro es la suma de DataSize e IndexSize.

3012493312

TotalSize

integer

  • Para instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL, este parámetro indica la cantidad de espacio ocupado por los datos y los índices de la tabla. Unidad: bytes. El valor es la suma de DataSize e IndexSize.

  • Para instancias de ApsaraDB for MongoDB, este parámetro indica el tamaño real del espacio asignado por Block Manager. Unidad: bytes. La relación de compresión de una instancia de ApsaraDB for MongoDB se calcula mediante la siguiente fórmula: Relación de compresión = TotalSize/DataSize.

3005153280

IndexSize

integer

El espacio de almacenamiento ocupado por los índices. Unidad: bytes.

1022296064

DataSize

integer

  • Para instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL, este parámetro indica la cantidad de espacio ocupado por los datos. Unidad: bytes.

  • Para instancias de ApsaraDB for MongoDB, este parámetro indica el tamaño de los datos sin comprimir, es decir, la cantidad de datos. Unidad: bytes.

1982857216

DataFree

integer

El tamaño de los fragmentos de espacio. Unidad: bytes.

Nota

Este parámetro solo es aplicable a instancias de ApsaraDB RDS for MySQL y clústeres de PolarDB for MySQL. La tasa de fragmentación de una tabla generalmente se calcula mediante la siguiente fórmula: Tasa de fragmentación = DataFree/(DataSize + IndexSize + DataFree). En este tema, Tasa de fragmentación = DataFree/PhyTotalSize.

7340032

TableRows

integer

El número de filas en la tabla.

12794732

AvgRowLength

integer

La longitud promedio de las filas. Unidad: bytes.

154

FragmentSize

integer

El tamaño del espacio que se puede recuperar. Unidad: bytes.

Nota

Este parámetro solo es aplicable a instancias de ApsaraDB for MongoDB. Tasa de fragmentación = FragmentSize/PhyTotalSize.

362221568

RequestId

string

El ID de la solicitud.

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

Success

boolean

Indica si la solicitud se realizó correctamente. Valores válidos:

  • true

  • false

true

Ejemplos

Respuesta exitosa

JSON Formato

{
  "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,
          "FragmentSize": 362221568
        }
      ]
    }
  },
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success": true
}

Códigos de error

Código de estado HTTP

Código de error

Mensaje de error

Descripción

400 InvalidParams The request parameters are invalid.
403 NoPermission You are not authorized to do this action.

Consulte Códigos de error para ver la lista completa.

Notas de la versión

Consulte Notas de la versión para ver la lista completa.