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

Tablestore:グローバルテーブル情報のクエリ

最終更新日:Jan 09, 2026

このトピックでは、Java SDK を使用してグローバルテーブルの詳細をクエリする方法について説明します。

前提条件

クライアントの初期化

メソッド

public DescribeGlobalTableResponse describeGlobalTable(DescribeGlobalTableRequest request) throws TableStoreException, ClientException

DescribeGlobalTableRequest のパラメーター

  • globalTableId (必須) String:グローバルテーブル ID。

    説明

    グローバルテーブル ID がない場合は、DescribeTable 操作を呼び出してレプリカテーブルの詳細をクエリできます。レプリカがグローバルテーブルの一部である場合、応答にはグローバルテーブル ID が含まれます。

  • globalTableName (必須) String:グローバルテーブルの名前。名前はベーステーブル名と同じである必要があります。

  • returnRpo (任意) boolean:RPO (目標復旧時点) を返すかどうかを指定します。デフォルト値は false です。RPO の取得には時間がかかります。必要な場合以外は、このパラメーターを有効にしないでください。

  • phyTable (任意) GlobalTableTypes.PhyTable:物理テーブルをフィルターする条件。このパラメーターには、次のメンバーが含まれます。

    名前

    説明

    regionId (任意)

    String

    物理テーブルが存在するリージョンの ID。

    instanceName (任意)

    String

    物理テーブルが存在するインスタンスの名前。

DescribeGlobalTableResponse の戻り値

  • globalTableId (必須) String:グローバルテーブル ID。

  • status (必須) GlobalTableTypes.GlobalTableStatus:グローバルテーブルのステータス。有効な値:

    ステータス

    説明

    INIT

    初期化中。グローバルテーブルは作成後にこのステータスになります。

    RE_CONF

    再構成中。グローバルテーブルのすべてまたは一部のレプリカが構成中です。この構成は、テーブルの作成、履歴データの同期、またはグローバルテーブルのメンバーのアタッチまたはデタッチによって発生する可能性があります。

    ACTIVE

    アクティブ。

  • phyTables (必須) List<PhyTable>:物理テーブルのリスト。リスト内の各オブジェクトには、次のメンバーが含まれます。

    名前

    説明

    regionId (必須)

    String

    物理テーブルが存在するリージョンの ID。

    instanceName (必須)

    String

    物理テーブルが存在するインスタンスの名前。

    tableName (必須)

    String

    物理テーブルの名前。

    status (必須)

    PhyTableStatus

    物理テーブルのステータス。有効な値:

    • PENDING:キュー登録済み。システムは他のレプリカテーブルが構成されるのを待機しています。

    • INIT:初期化中。レプリカテーブルは作成または構成中です。

    • SYNCDATA:同期中。履歴データが同期中であり、増分データ同期が有効になっています。

    • READY:準備完了。履歴データの同期が完了し、増分トンネルが有効になっています。テーブルは書き込み可能ではありません。

    • ACTIVE:アクティブで同期中。レプリカテーブルは読み取りおよび書き込みが可能です。

    • UNBINDING:デタッチ中。レプリカテーブルはグローバルテーブルからデタッチ中です。このプロセス中にレプリカテーブルとそのデータは削除されません。

    • UNBOUND:デタッチ済み。レプリカテーブルはグローバルテーブルからデタッチされました。このプロセス中にレプリカテーブルとそのデータは削除されませんでした。

    statusTimestamp (任意)

    long

    最後のステータス更新のタイムスタンプ。単位:ミリ秒。

    writable (必須)

    boolean

    テーブルが書き込み可能かどうかを指定します。

    role (任意)

    String

    サービスモデルにおける物理テーブルのロール。

    rpo (任意)

    Instant

    物理テーブル内のデータの RPO。

    tableId (任意)

    String

    物理テーブルの ID。

    stage (任意)

    SyncStage

    データ同期ステージ。

    isFailed (必須)

    boolean

    テーブルが失敗状態にあるかどうかを指定します。

    message (任意)

    String

    失敗原因など、物理テーブルのステータスに関する追加情報。グローバルテーブルの作成、または同期リレーションシップのアタッチまたはデタッチが失敗した場合、`isFailed` は true になり、このパラメーターにその理由が表示されます。

private static void describeGlobalTableExample(SyncClient client) {
    // リクエストを構築します。
    DescribeGlobalTableRequest req = new DescribeGlobalTableRequest(
        // グローバルテーブル ID。
        "gt-ee1b54db-f5d9-43f3-ad36-ec44********",
        // グローバルテーブルの名前。
        "t-gt-test-1"
    );

    // リクエストを送信します。
    DescribeGlobalTableResponse descResp = client.describeGlobalTable(req);

    // グローバルテーブルの基本情報を出力します。
    System.out.println("Status: " + descResp.getStatus());
    System.out.println("Global Table ID: " + descResp.getGlobalTableId());

    // レプリカのデプロイメント情報 (配置) を出力します。
    List<GlobalTableTypes.PhyTable> placements = descResp.getPhyTables();
    for (GlobalTableTypes.PhyTable p : placements) {
        System.out.println("Replica in " + p.getRegionId() +
                ", Instance: " + p.getInstanceName() +
                ", Writable: " + p.isWritable());
    }
}