すべてのプロダクト
Search
ドキュメントセンター

:GetStorageAnalysisResult

最終更新日:Dec 19, 2025

ストレージ分析タスクのステータスと結果を照会します。

操作説明

説明

物理ファイルサイズは、取得したファイルの実際のサイズを示します。データベースインスタンスの特定のデプロイメントモードのみが、物理ファイルサイズの表示をサポートしています。テーブルの統計は information_schema.tables から取得されます。MySQL の統計はリアルタイムで更新されないため、物理ファイルサイズと異なる場合があります。最新のデータを取得したい場合は、オフピーク時間に関連テーブルで ANALYZE TABLE ステートメントを実行できます。

  • この操作は、ApsaraDB RDS for MySQL インスタンス、PolarDB for MySQL クラスター、および ApsaraDB for MongoDB インスタンスにのみ適用されます。

  • ApsaraDB RDS for MySQL インスタンスおよび PolarDB for MySQL クラスターの場合、この操作は以前のバージョンのストレージ分析機能と同様に機能します。この操作によって生成されたタスクは、Database Autonomy Service (DAS) コンソールの新しいバージョンのストレージ分析ページでは表示できません。タスクと結果を表示したい場合は、関連する API 操作を呼び出してデータを取得し、ご利用のコンピューターにデータを保存してください。

  • Alibaba Cloud SDK または DAS SDK を使用してこの操作を呼び出す場合は、最新バージョンの SDK を使用することを推奨します。

  • SDK を使用して DAS の操作を呼び出す場合、リージョン ID を cn-shanghai に設定する必要があります。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

hdm:GetStorageAnalysisResult

none

*All Resource

*

なし なし

リクエストパラメーター

パラメーター

必須 / 任意

説明

InstanceId

string

必須

インスタンス ID。

rm-bp10xxxxxxxxx

NodeId

string

任意

ノード ID。

説明

このパラメーターは予約済みです。

202****

TaskId

string

必須

タスク ID。CreateStorageAnalysisTask 操作の応答からタスク ID を取得できます。

910f83f4b96df0524ddc5749f615****

レスポンスフィールド

フィールド

説明

object

Code

integer

返された HTTP ステータスコード。

200

Message

string

返されたメッセージ。

説明

リクエストが成功した場合、Successful が返されます。それ以外の場合は、エラーコードなどのエラーメッセージが返されます。

Successful

Data

object

返されたデータ。

TaskId

string

タスク ID。

910f83f4b96df0524ddc5749f615****

TaskFinish

boolean

タスクが完了したかどうかを示します。

true

TaskSuccess

boolean

タスクが成功したかどうかを示します。

true

TaskState

string

ストレージ分析タスクのステータス。有効な値:

  • INIT:タスクは初期化中です。

  • PENDING:タスクは実行キューで待機中です。

  • RECEIVED:タスクは実行のために受信されました。

  • RUNNING:タスクは実行中です。

  • RETRY:タスクは再試行中です。

  • SUCCESS:タスクは成功しました。

  • FAILURE:タスクは失敗しました。

RUNNING

TaskProgress

integer

タスクの進捗状況。

説明

有効な値は 0 から 100 までの整数です。

50

TotalDbCount

integer

ストレージ分析タスクで分析する必要があるデータベースの数。

32

AnalyzedDbCount

integer

分析されたデータベースの数。

2

StorageAnalysisResult

object

ストレージ分析の詳細。

TotalStorageSize

integer

インスタンスストレージの合計サイズ。

説明

単位:バイト。

214748364800

TotalUsedStorageSize

integer

使用済みストレージのサイズ。

説明

単位:バイト。

68345135104

TotalFreeStorageSize

integer

残りのストレージのサイズ。

説明

単位:バイト。

146403229696

DailyIncrement

integer

過去 7 日間の使用済みストレージ領域の推定平均日次増加量。単位:バイト。

0

EstimateAvailableDays

integer

残りのストレージ領域が利用可能であると推定される日数。

99

AnalysisSuccess

boolean

データベースとテーブルの分析が成功したかどうかを示します。

true

AnalysisErrorType

string

データベースとテーブルの分析が失敗した理由。

  • DB_OR_TABLE_NOT_EXIST:指定されたデータベースまたはテーブルが存在しません。

  • DB_NOT_EXIST:指定されたデータベースが存在しません。

DB_NOT_EXIST

NeedOptimizeItemList

array<object>

DAS のデフォルトルールに基づいて生成される、最適化が必要な項目。ビジネス要件に基づいてこれらの項目を無視し、返された他の基本データに基づいて最適化が必要な項目を生成するためのカスタムルールを作成できます。

object

DbName

string

データベースの名前。

testdb01

TableName

string

テーブルの名前。

test_table

OptimizeItemName

string

最適化する項目。有効な値:

  • NEED_ANALYZE_TABLEinformation_schema.tables から取得したストレージ統計が物理ファイルサイズより 50 GB 大きいか小さいテーブル。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • NEED_OPTIMIZE_TABLE:スペースフラグメントが 6 GB を超え、断片化率が 30% を超えるテーブル。テーブルの断片化率は通常、次の数式に基づいて計算されます:

    • ApsaraDB RDS for MySQL および PolarDB for MySQL:断片化率 = DataFree/(DataSize + IndexSize + DataFree)。このトピックでは、PhyTotalSize = DataSize + IndexSize + DataFree です。したがって、断片化率は次の数式に基づいて計算できます:断片化率 = DataFree/PhyTotalSize

    • ApsaraDB for MongoDB:断片化率 = FragmentSize/PhyTotalSize

  • TABLE_ENGINE:ストレージエンジンが InnoDB または XEngine ではないテーブル。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT:自動インクリメント ID の使用率が 80% を超えるテーブル。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • DUPLICATE_INDEX:インデックスが冗長または重複しているテーブル。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • TABLE_SIZE:単一テーブルのサイズが 50 GB を超えるテーブル。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • TABLE_ROWS_AND_AVG_ROW_LENGTH:500 万行を超え、平均行長が 10 KB を超える単一テーブル。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • TOTAL_DATA_FREE:再利用可能な領域が 60 GB を超え、合計断片化率が 5% を超えるインスタンス。

  • STORAGE_USED_PERCENT:領域使用率が 90% を超えるインスタンス。

NEED_OPTIMIZE_TABLE

OptimizeAdvice

string

最適化の提案。有効な値:

  • NEED_ANALYZE_TABLE:オフピーク時間にテーブルに対して ANALYZE TABLE ステートメントを実行できます。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • NEED_OPTIMIZE_TABLE:オフピーク時間にフラグメントを再利用できます。

  • CHANGE_TABLE_ENGINE_IF_NECESSARY:リスク評価の後、テーブルのストレージエンジンタイプを変更します。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT:自動インクリメント ID の使用状況に注意してください。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • DUPLICATE_INDEX:テーブルのインデックスを最適化します。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • TABLE_SIZE:テーブルサイズに注意してください。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • TABLE_ROWS_AND_AVG_ROW_LENGTH:テーブルの行数と平均行長に注意してください。これは ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

  • STORAGE_USED_PERCENT:インスタンスが満杯になった場合にロックされるのを防ぐため、領域使用率に注意してください。

NEED_OPTIMIZE_TABLE

AssociatedData

string

最適化する項目に関連するデータ。JSON 形式です。

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

TableStats

array<object>

テーブルに関する情報。

object

DbName

string

データベースの名前。

testdb01

TableName

string

テーブルの名前。

test_table

TableType

string

テーブルのタイプ。

説明

このパラメーターは、ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

BASE TABLE

Engine

string

テーブルが使用するストレージエンジンのタイプ。

説明

このパラメーターは、ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。

InnoDB

PhysicalFileSize

integer

テーブルの物理ファイルサイズ。単位:バイト。

説明

このパラメーターは、ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。特定のデータベースインスタンスのデータは、デプロイメントモードのために取得できません。

3057655808

PhyTotalSize

integer

テーブルのストレージ領域。単位:バイト。

説明

ApsaraDB RDS for MySQL インスタンスおよび PolarDB for MySQL クラスターの場合、パラメーターの値は DataSizeIndexSize、および DataFree の合計です。ApsaraDB for MongoDB インスタンスの場合、このパラメーターの値は DataSizeIndexSize の合計です。

3012493312

TotalSize

integer

  • ApsaraDB RDS for MySQL インスタンスおよび PolarDB for MySQL クラスターの場合、このパラメーターはテーブルデータとインデックスが占有する領域の量を示します。単位:バイト。値は DataSizeIndexSize の合計です。

  • ApsaraDB for MongoDB インスタンスの場合、このパラメーターは Block Manager によって割り当てられた実際の領域サイズを示します。単位:バイト。ApsaraDB for MongoDB インスタンスの圧縮率は、次の数式に基づいて計算されます:圧縮率 = TotalSize/DataSize

3005153280

IndexSize

integer

インデックスが占有するストレージ領域。単位:バイト。

1022296064

DataSize

integer

  • ApsaraDB RDS for MySQL インスタンスおよび PolarDB for MySQL クラスターの場合、このパラメーターはデータが占有する領域の量を示します。単位:バイト。

  • ApsaraDB for MongoDB インスタンスの場合、このパラメーターは非圧縮データのサイズ、つまりデータ量を示します。単位:バイト。

1982857216

DataFree

integer

スペースフラグメントのサイズ。単位:バイト。

説明

このパラメーターは、ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスターにのみ適用されます。テーブルの断片化率は通常、次の数式に基づいて計算されます:断片化率 = DataFree/(DataSize + IndexSize + DataFree)。このトピックでは、断片化率 = DataFree/PhyTotalSize です。

7340032

TableRows

integer

テーブルの行数。

12794732

AvgRowLength

integer

平均行長。単位:バイト。

154

FragmentSize

integer

再利用可能な領域のサイズ。単位:バイト。

説明

このパラメーターは ApsaraDB for MongoDB インスタンスにのみ適用されます。断片化率 = FragmentSize/PhyTotalSize

362221568

RequestId

string

リクエスト ID。

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

Success

boolean

リクエストが成功したかどうかを示します。有効な値:

  • true

  • false

true

成功レスポンス

JSONJSON

{
  "Code": 200,
  "Message": "Successful",
  "Data": {
    "TaskId": "910f83f4b96df0524ddc5749f615****",
    "TaskFinish": true,
    "TaskSuccess": true,
    "TaskState": "RUNNING",
    "TaskProgress": 50,
    "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
}

エラーコード

HTTP ステータスコード

エラーコード

エラーメッセージ

説明

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

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。