Topik ini menjelaskan cara mengambil informasi tabel data menggunakan Tablestore SDK for Java.
Prasyarat
Klien telah diinisialisasi. Untuk informasi lebih lanjut, lihat Initialize a Tablestore client.
Metode
public DescribeTableResponse describeTable(DescribeTableRequest request) throws TableStoreException, ClientExceptionContoh kode
Berikut adalah contoh kode untuk mengambil informasi tabel data bernama test_table:
public static void describeTableExample(SyncClient client) {
DescribeTableRequest request = new DescribeTableRequest("test_table");
DescribeTableResponse response = client.describeTable(request);
// Mengambil informasi skema tabel data.
TableMeta tableMeta = response.getTableMeta();
System.out.println("* Nama tabel data: " + tableMeta.getTableName());
System.out.println("* Informasi kunci utama");
for(PrimaryKeySchema primaryKeySchema : tableMeta.getPrimaryKeyList()) {
System.out.println(primaryKeySchema);
}
System.out.println("* Informasi kolom yang telah ditentukan");
for(DefinedColumnSchema definedColumnSchema : tableMeta.getDefinedColumnsList()) {
System.out.println(definedColumnSchema);
}
// Mengambil informasi konfigurasi tabel data.
TableOptions tableOptions = response.getTableOptions();
System.out.println("* Informasi konfigurasi tabel");
System.out.println("Jumlah versi maksimum: " + tableOptions.getMaxVersions());
System.out.println("Waktu penyimpanan: " + tableOptions.getTimeToLive());
System.out.println("Offset versi maksimum: " + tableOptions.getMaxTimeDeviation());
System.out.println("Apakah memperbolehkan pembaruan: " + tableOptions.getAllowUpdate());
// Mengambil informasi Stream tabel data.
StreamDetails streamDetails = response.getStreamDetails();
System.out.println("* Apakah Stream diaktifkan: " + streamDetails.isEnableStream());
if(streamDetails.isEnableStream())
System.out.println("Periode validitas Stream: " + streamDetails.getExpirationTime());
// Mengambil pengaturan enkripsi tabel data.
SSEDetails sseDetails = response.getSseDetails();
System.out.println("* Apakah enkripsi diaktifkan untuk tabel data: " + sseDetails.isEnable());
if(sseDetails.isEnable())
System.out.println("Metode enkripsi: " + sseDetails.getKeyType());
// Mengambil throughput baca/tulis yang dicadangkan untuk tabel data.
ReservedThroughputDetails reservedThroughputDetails = response.getReservedThroughputDetails();
System.out.println("* Throughput baca/tulis yang dicadangkan");
System.out.println("Throughput baca yang dicadangkan: " + reservedThroughputDetails.getCapacityUnit().getReadCapacityUnit());
System.out.println("Throughput tulis yang dicadangkan: " + reservedThroughputDetails.getCapacityUnit().getWriteCapacityUnit());
// Mengambil informasi indeks sekunder.
for(IndexMeta indexMeta : response.getIndexMeta()) {
System.out.println("* Nama indeks sekunder: " + indexMeta.getIndexName());
System.out.println("Kolom kunci utama: " + indexMeta.getPrimaryKeyList().toString());
System.out.println("Kolom yang telah ditentukan: " + indexMeta.getDefinedColumnsList().toString());
System.out.println("Tipe indeks sekunder: " + indexMeta.getIndexType());
System.out.println("Mode pembaruan indeks sekunder: " + indexMeta.getIndexUpdateMode());
}
}