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

Tablestore:グローバルテーブルのデタッチ

最終更新日:Jan 09, 2026

このトピックでは、Java ソフトウェア開発キット (SDK) を使用して、グローバルテーブルから 1 つ以上のレプリカを切り離す方法について説明します。

注意事項

  • デタッチ操作は、レプリカテーブルとグローバルテーブルとの関連付けのみを解除します。レプリカテーブルとそのデータは保持されます。DeleteTable 操作を呼び出して、レプリカテーブルを個別に削除できます。

  • この操作はデタッチリクエストを開始するだけです。デタッチプロシージャが完了するまでには時間がかかります。プロシージャが完了したことを確認するには、グローバルテーブル情報のクエリ 操作を呼び出して、グローバルテーブルのステータスを確認できます。グローバルテーブルのステータスが `active` に変更されると、デタッチは成功したことになります。

前提条件

クライアントの初期化

メソッドの説明

public UnbindGlobalTableResponse unbindGlobalTable(UnbindGlobalTableRequest request) throws TableStoreException, ClientException

UnbindGlobalTableRequest のパラメーター

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

    説明

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

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

  • Removals (必須) List<Removal>:削除するディストリビューションロケーションのリスト。このリストには、次のパラメーターが含まれます:

    名前

    説明

    regionId (必須)

    String

    リージョン ID。

    instanceName (必須)

    String

    インスタンス名。

private static void unbindGlobalTableExample(SyncClient client) {
    // リクエストを構築します。
    UnbindGlobalTableRequest request = new UnbindGlobalTableRequest(
                // グローバルテーブル ID。
                "gt-ee1b54db-f5d9-43f3-ad36-ec44********",
                // グローバルテーブル名。
                "my-global-table"
    );
                
    // 切り離すレプリカのリスト (Removals) を構築します。
    List<GlobalTableTypes.Removal> removals = new ArrayList<>();

    // 例:中国 (杭州) リージョンのレプリカを切り離します。
    GlobalTableTypes.Removal hangzhouRemoval = new GlobalTableTypes.Removal(
                // レプリカが配置されているリージョンの ID。
                "cn-hangzhou",
                // レプリカが属するインスタンスの名前。
                "instance-replica-hz"
    );

    // 例:中国 (上海) リージョンのレプリカを切り離します。
    GlobalTableTypes.Removal shanghaiRemoval = new GlobalTableTypes.Removal(
                // レプリカが配置されているリージョンの ID。
                "cn-shanghai",
                // レプリカが属するインスタンスの名前。
                "instance-replica-sh"
    );
    
    removals.add(hangzhouRemoval);
    removals.add(shanghaiRemoval);
    request.setRemovals(removals);

    // リクエストを開始します。
    UnbindGlobalTableResponse response = client.unbindGlobalTable(request);
    System.out.println("Unbind start. Request ID: " + response.getRequestId());
}