Tablestore SDK for Java の describeTable を使用して、データテーブルのスキーマ、構成、メタデータを取得します。
前提条件
クライアントが初期化済みである必要があります。詳細については、「Tablestore クライアントの初期化」をご参照ください。
メソッド
public DescribeTableResponse describeTable(DescribeTableRequest request) throws TableStoreException, ClientException
サンプルコード
次の例では、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());
}
}