Tous les produits
Search
Centre de documentation

:GetStorageAnalysisResult

Dernière mise à jour :Aug 06, 2026

Consulte l'état et les résultats d'une tâche d'analyse de stockage.

Description de l'opération

Remarque

La taille du fichier physique indique la taille réelle d'un fichier obtenu. Seuls des modes de déploiement spécifiques des instances de base de données prennent en charge l'affichage des tailles de fichiers physiques. Les statistiques sur les tables sont obtenues à partir de information_schema.tables. Les statistiques dans MySQL ne sont pas mises à jour en temps réel. Par conséquent, les statistiques peuvent différer des tailles de fichiers physiques. Si vous souhaitez obtenir les données les plus récentes, vous pouvez exécuter l'instruction ANALYZE TABLE sur les tables concernées pendant les heures creuses.

  • Cette opération s'applique uniquement aux instances ApsaraDB RDS for MySQL, aux clusters PolarDB for MySQL et aux instances ApsaraDB for MongoDB.

  • Pour les instances ApsaraDB RDS for MySQL et les clusters PolarDB for MySQL, cette opération fonctionne de la même manière que la fonctionnalité d'analyse de stockage de la version précédente. Les tâches générées par cette opération ne peuvent pas être consultées sur la page Analyse de stockage de la nouvelle version dans la console Database Autonomy Service (DAS). Si vous souhaitez consulter les tâches et les résultats, appelez l'opération d'API correspondante pour obtenir les données et enregistrez-les sur votre ordinateur.

  • Si vous utilisez un SDK Alibaba Cloud ou un SDK DAS pour appeler cette opération, nous vous recommandons d'utiliser la dernière version du SDK.

  • Si vous utilisez un SDK pour appeler des opérations de DAS, vous devez définir l'identifiant de la région sur cn-shanghai.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

hdm:GetStorageAnalysisResult

none

*All Resource

*

Aucune Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

InstanceId

string

Oui

L'identifiant de l'instance.

rm-bp10xxxxxxxxx

NodeId

string

Non

L'identifiant du nœud.

Remarque

Ce paramètre est réservé.

202****

TaskId

string

Oui

L'identifiant de la tâche. Vous pouvez obtenir l'identifiant de la tâche à partir de la réponse de l'opération CreateStorageAnalysisTask.

910f83f4b96df0524ddc5749f615****

Éléments de réponse

Élément

Type

Description

Exemple

object

The response parameters.

Code

integer

Le code d'état HTTP renvoyé.

200

Message

string

Le message renvoyé.

Remarque

Si la requête aboutit, Successful est renvoyé. Sinon, un message d'erreur tel qu'un code d'erreur est renvoyé.

Successful

Data

object

Les données renvoyées.

TaskId

string

L'identifiant de la tâche.

910f83f4b96df0524ddc5749f615****

TaskFinish

boolean

Indique si la tâche est terminée.

true

TaskSuccess

boolean

Indique si la tâche a abouti.

true

TaskState

string

L'état de la tâche d'analyse de stockage. Valeurs valides :

  • INIT : la tâche est en cours d'initialisation.

  • PENDING : la tâche est en attente d'exécution dans la file.

  • RECEIVED : la tâche a été reçue pour exécution.

  • RUNNING : la tâche est en cours d'exécution.

  • RETRY : la tâche est en cours de nouvelle tentative.

  • SUCCESS : la tâche a abouti.

  • FAILURE : la tâche a échoué.

RUNNING

TaskProgress

integer

La progression de la tâche.

Remarque

Les valeurs valides sont des nombres entiers compris entre 0 et 100.

50

TotalDbCount

integer

Le nombre de bases de données à analyser dans la tâche d'analyse de stockage.

32

AnalyzedDbCount

integer

Le nombre de bases de données qui ont été analysées.

2

StorageAnalysisResult

object

Les détails de l'analyse de stockage.

TotalStorageSize

integer

The total size of instance storage.

Remarque

Unit: bytes.

214748364800

TotalUsedStorageSize

integer

The size of used storage.

Remarque

Unit: bytes.

68345135104

TotalFreeStorageSize

integer

The size of remaining storage.

Remarque

Unit: bytes.

146403229696

DailyIncrement

integer

The estimated average daily growth of the used storage space in the previous seven days. Unit: bytes.

0

EstimateAvailableDays

integer

The estimated number of days for which the remaining storage space is available.

99

AnalysisSuccess

boolean

Indicates whether the analysis on the database and table is successful.

true

AnalysisErrorType

string

The reason why the analysis on the database and table fails.

  • DB_OR_TABLE_NOT_EXIST: The specified database or table does not exist.

  • DB_NOT_EXIST: The specified database does not exist.

DB_NOT_EXIST

NeedOptimizeItemList

array<object>

The items to be optimized, which are generated based on DAS default rules. You can ignore these items based on your business requirements, and create custom rules to generate items to be optimized based on other basic data that is returned.

object

DbName

string

The name of the database.

testdb01

TableName

string

The name of the table.

test_table

OptimizeItemName

string

The item to be optimized. Valid values:

  • NEED_ANALYZE_TABLE: tables whose storage statistics obtained from information_schema.tables are 50 GB larger or smaller than the physical file sizes. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • NEED_OPTIMIZE_TABLE: tables whose space fragments are larger than 6 GB and whose fragmentation rates are greater than 30%. The fragmentation rate of a table is generally calculated based on the following formulas:

    • ApsaraDB RDS for MySQL and PolarDB for MySQL: Fragmentation rate = DataFree/(DataSize + IndexSize + DataFree). In this topic, PhyTotalSize = DataSize + IndexSize + DataFree. Thus, the fragmentation rate can be calculated based on the following formula: Fragmentation rate = DataFree/PhyTotalSize.

    • ApsaraDB for MongoDB: Fragmentation rate = FragmentSize/PhyTotalSize.

  • TABLE_ENGINE: tables whose storage engines are not InnoDB or XEngine. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: tables whose usages of auto-increment IDs exceed 80%. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • DUPLICATE_INDEX: tables whose indexes are redundant or duplicate. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_SIZE: single tables whose sizes are larger than 50 GB. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: single tables that contain more than 5 million rows and whose average row lengths exceed 10 KB. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TOTAL_DATA_FREE: instances whose reclaimable space is larger than 60 GB and whose total fragmentation rate is larger than 5%.

  • STORAGE_USED_PERCENT: instances whose space usage is larger than 90%.

NEED_OPTIMIZE_TABLE

OptimizeAdvice

string

The optimization suggestion. Valid values:

  • NEED_ANALYZE_TABLE: You can execute the ANALYZE TABLE statement on the table during off-peak hours. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • NEED_OPTIMIZE_TABLE: You can reclaim fragments during off-peak hours.

  • CHANGE_TABLE_ENGINE_IF_NECESSARY: Change the storage engine type of a table after risk assessment. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: Pay attention to the usage of auto-increment IDs. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • DUPLICATE_INDEX: Optimize indexes of tables. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_SIZE: Pay attention to the table size. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: Pay attention to the number of rows in a table and the average row length. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • STORAGE_USED_PERCENT: Pay attention to the space usage to prevent the instance from being locked if the instance is full.

NEED_OPTIMIZE_TABLE

AssociatedData

string

The data associated with the items to be optimized, which is in the JSON format.

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

TableStats

array<object>

The information about the table.

object

DbName

string

The name of the database.

testdb01

TableName

string

The name of the table.

test_table

TableType

string

The type of the table.

Remarque

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

BASE TABLE

Engine

string

The type of the storage engine used by the table.

Remarque

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

InnoDB

PhysicalFileSize

integer

The physical file size of the table. Unit: bytes.

Remarque

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters. Data of specific database instances cannot be obtained due to deployment mode.

3057655808

PhyTotalSize

integer

The storage space of the table. Unit: bytes.

Remarque

For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, the value of the parameter is the sum of DataSize, IndexSize, and DataFree. For ApsaraDB for MongoDB instances, the value of this parameter is the sum of DataSize and IndexSize.

3012493312

TotalSize

integer

  • For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, this parameter indicates the amount of space occupied by table data and indexes. Unit: bytes. The value is the sum of DataSize and IndexSize.

  • For ApsaraDB for MongoDB instances, this parameter indicates the actual size of space allocated by Block Manager. Unit: Bytes. The compression ratio of an ApsaraDB for MongoDB instance is calculated based on the following formula: Compression ratio = TotalSize/DataSize.

3005153280

IndexSize

integer

The storage space occupied by indexes. Unit: bytes.

1022296064

DataSize

integer

  • For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, this parameter indicates the amount of space occupied by data. Unit: bytes.

  • For ApsaraDB for MongoDB instances, this parameter indicates the size of uncompressed data, that is, the amount of data. Unit: bytes.

1982857216

DataFree

integer

The size of space fragments. Unit: bytes.

Remarque

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters. The fragmentation rate of a table is generally calculated based on the following formula: Fragmentation rate = DataFree/(DataSize + IndexSize + DataFree). In this topic, Fragmentation rate = DataFree/PhyTotalSize.

7340032

TableRows

integer

The number of rows in the table.

12794732

AvgRowLength

integer

The average length of rows. Unit: bytes.

154

FragmentSize

integer

The size of space that can be reclaimed. Unit: bytes.

Remarque

This parameter is applicable only to ApsaraDB for MongoDB instances. Fragmentation rate = FragmentSize/PhyTotalSize.

362221568

RequestId

string

L'identifiant de la requête.

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

Success

boolean

Indique si la requête a abouti. Valeurs valides :

  • true

  • false

true

Exemples

JSON format

{
  "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
}

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

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

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.