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

Tablestore:データテーブルの情報のクエリ

最終更新日:May 16, 2025

このトピックでは、Tablestore SDK for Java を使用してデータテーブルの情報をクエリする方法について説明します。

前提条件

クライアントが初期化されていること。 詳細については、「Tablestore クライアントを初期化する」をご参照ください。

メソッド

public DescribeTableResponse describeTable(DescribeTableRequest request) throws TableStoreException, ClientException

DescribeTableRequest パラメーター

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

サンプルコード

次のサンプルコードは、test_table という名前のデータテーブルの情報をクエリする例を示しています。

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());
    }
}

参照

時系列テーブルの情報をクエリする