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

Tablestore:データテーブルの情報の照会

最終更新日:May 01, 2026

Tablestore SDK for Java の describeTable を使用して、データテーブルのスキーマ、構成、メタデータを取得します。

前提条件

クライアントが初期化済みである必要があります。詳細については、「Tablestore クライアントの初期化」をご参照ください。

メソッド

public DescribeTableResponse describeTable(DescribeTableRequest request) throws TableStoreException, ClientException

DescribeTableRequest パラメーター

  • tableName (必須) String:データテーブルの名前。

サンプルコード

次の例では、test_table という名前のデータテーブルに関する情報を取得します。取得対象には、スキーマ、構成、Stream 設定、暗号化設定、予約済みの読み取り/書き込みスループット、およびセカンダリインデックスが含まれます。

public static void describeTableExample(SyncClient client) {
    DescribeTableRequest request = new DescribeTableRequest("test_table");
    DescribeTableResponse response = client.describeTable(request);

    // データテーブルのスキーマ情報を照会します。
    TableMeta tableMeta = response.getTableMeta();
    System.out.println("* データテーブル名: " + tableMeta.getTableName());
    System.out.println("* プライマリキー情報");
    for(PrimaryKeySchema primaryKeySchema : tableMeta.getPrimaryKeyList()) {
        System.out.println(primaryKeySchema);
    }
    System.out.println("* 定義済みカラム情報");
    for(DefinedColumnSchema definedColumnSchema : tableMeta.getDefinedColumnsList()) {
        System.out.println(definedColumnSchema);
    }

    // データテーブルの構成情報を照会します。
    TableOptions tableOptions = response.getTableOptions();
    System.out.println("* テーブル構成情報");
    System.out.println("最大バージョン数: " + tableOptions.getMaxVersions());
    System.out.println("有効期間: " + tableOptions.getTimeToLive());
    System.out.println("最大バージョンオフセット: " + tableOptions.getMaxTimeDeviation());
    System.out.println("更新を許可するかどうか: " + tableOptions.getAllowUpdate());

    // データテーブルの Stream 情報を照会します。
    StreamDetails streamDetails = response.getStreamDetails();
    System.out.println("* Stream を有効にするかどうか: " + streamDetails.isEnableStream());
    if(streamDetails.isEnableStream())
        System.out.println("Stream 有効期間: " + streamDetails.getExpirationTime());

    // データテーブルの暗号化設定を照会します。
    SSEDetails sseDetails = response.getSseDetails();
    System.out.println("* データテーブルの暗号化を有効にするかどうか: " + sseDetails.isEnable());
    if(sseDetails.isEnable())
        System.out.println("暗号化方式: " + sseDetails.getKeyType());
        
    // データテーブルの予約済み読み取り/書き込みスループットを照会します。
    ReservedThroughputDetails reservedThroughputDetails = response.getReservedThroughputDetails();
    System.out.println("* 予約済み読み取り/書き込みスループット");
    System.out.println("予約済み読み取りスループット: " + reservedThroughputDetails.getCapacityUnit().getReadCapacityUnit());
    System.out.println("予約済み書き込みスループット: " + reservedThroughputDetails.getCapacityUnit().getWriteCapacityUnit());

    // セカンダリインデックスの情報を照会します。
    for(IndexMeta indexMeta : response.getIndexMeta()) {
        System.out.println("* セカンダリインデックス名: " + indexMeta.getIndexName());
        System.out.println("プライマリキーカラム: " + indexMeta.getPrimaryKeyList().toString());
        System.out.println("定義済みカラム: " + indexMeta.getDefinedColumnsList().toString());
        System.out.println("セカンダリインデックスタイプ: " + indexMeta.getIndexType());
        System.out.println("セカンダリインデックス更新モード: " + indexMeta.getIndexUpdateMode());
    }
}

参考資料

時系列テーブルの情報の照会