Untuk mengonsumsi data dalam tabel secara real-time, Anda dapat memanggil operasi CreateTunnel guna membuat terowongan untuk tabel tersebut. Beberapa terowongan dapat dibuat untuk satu tabel. Saat membuat terowongan, tentukan nama tabel, nama terowongan, dan tipe terowongan.
Prasyarat
Instance TunnelClient telah diinisialisasi.
Tabel telah dibuat. Untuk informasi lebih lanjut, lihat Buat Tabel.
Parameter
Parameter permintaan
Parameter | Deskripsi |
TableName | Nama tabel data. |
TunnelName | Nama terowongan. |
TunnelType | Tipe terowongan. Nilai yang valid:
Jika Anda menetapkan parameter ini ke Stream atau BaseAndStream, sistem menganggap data yang ditulis ke tabel data setelah terowongan dibuat sebagai tambahan. Jika Anda ingin mengonsumsi data tambahan yang dihasilkan setelah titik waktu tertentu, Anda harus mengonfigurasi parameter startTime untuk data tambahan tersebut.
|
Parameter respons
Parameter | Deskripsi |
TunnelId | ID terowongan. |
ResponseInfo | Bidang lain yang dikembalikan dalam permintaan. |
RequestId | ID permintaan. |
Contoh
Buat terowongan yang digunakan untuk mengonsumsi data penuh
Kode berikut menunjukkan cara membuat terowongan tipe BaseData:
// Anda dapat membuat terowongan tipe TunnelType.BaseData, TunnelType.Stream, atau TunnelType.BaseAndStream.
// Dalam contoh ini, terowongan tipe BaseData dibuat. Untuk membuat terowongan tipe lainnya, atur parameter TunnelType dalam CreateTunnelRequest ke tipe yang diperlukan.
private static void createTunnel(TunnelClient client, String tableName, String tunnelName) {
CreateTunnelRequest request = new CreateTunnelRequest(tableName, tunnelName, TunnelType.BaseData);
CreateTunnelResponse resp = client.createTunnel(request);
System.out.println("RequestId: " + resp.getRequestId());
System.out.println("TunnelId: " + resp.getTunnelId());
}Buat terowongan yang digunakan untuk mengonsumsi data tambahan atau diferensial
Kode berikut menunjukkan cara membuat terowongan tipe Stream atau BaseAndStream serta menentukan rentang waktu data tambahan yang ingin dikonsumsi:
// Buat terowongan yang digunakan untuk mengonsumsi data tambahan atau diferensial dan tentukan timestamp awal dan akhir untuk rentang waktu data tambahan yang ingin Anda konsumsi. Konfigurasi yang ditentukan oleh StreamTunnelConfig tidak berlaku untuk terowongan tipe BaseData.
private static void createStreamTunnelByOffset(TunnelClient client,String tableName,String tunnelName, long startTime, long endTime){
CreateTunnelRequest createTunnelRequest = new CreateTunnelRequest(tableName,tunnelName, TunnelType.Stream);// Buat terowongan tipe Stream.
//CreateTunnelRequest createTunnelRequest = new CreateTunnelRequest(tableName,tunnelName, TunnelType.BaseAndStream);// Buat terowongan tipe BaseAndStream.
StreamTunnelConfig streamTunnelConfig = new StreamTunnelConfig();
/*
Tentukan timestamp awal dan akhir untuk membaca data tambahan. Unit: milidetik. Nilai valid: [CurrentSystemTime - StreamExpiration + 5 menit, CurrentSystemTime).
CurrentSystemTime adalah timestamp waktu sistem saat ini akurat hingga milidetik. StreamExpiration adalah timestamp periode validitas log tambahan akurat hingga milidetik. Masa berlaku maksimum log tambahan adalah tujuh hari. Anda dapat menentukan masa berlaku Stream saat mengaktifkan Stream untuk tabel data.
Nilai endTime harus lebih besar dari nilai startTime.
*/
streamTunnelConfig.setStartOffset(startTime);
streamTunnelConfig.setEndOffset(endTime);
createTunnelRequest.setStreamTunnelConfig(streamTunnelConfig);
CreateTunnelResponse resp = client.createTunnel(createTunnelRequest);
System.out.println("RequestId: " + resp.getRequestId());
System.out.println("TunnelId: " + resp.getTunnelId());
}FAQ
Referensi
Untuk informasi tentang operasi API yang dapat dipanggil untuk membuat terowongan, lihat CreateTunnel.
Jika ingin segera menggunakan Tunnel Service untuk mengonsumsi data, lihat Memulai.
Untuk menanyakan informasi tentang semua terowongan tabel, lihat Menanyakan Informasi tentang Semua Terowongan Tabel.
Untuk menanyakan informasi tentang sebuah terowongan, lihat Menanyakan Informasi tentang Sebuah Terowongan.
Untuk menghapus terowongan yang tidak lagi diperlukan, lihat Hapus Terowongan.
Untuk menggunakan Tunnel Service dalam migrasi data, lihat Sinkronisasi Data Antar Tabel.
Realtime Compute for Apache Flink dapat menggunakan terowongan Tunnel Service sebagai sumber data streaming untuk menghitung dan menganalisis data Tablestore. Untuk informasi lebih lanjut, lihat Gunakan Realtime Compute for Apache Flink untuk Memproses Data Tablestore.
Tidak ada biaya untuk Tunnel Service. Namun, biaya dikenakan untuk throughput baca yang dihasilkan saat menggunakan terowongan untuk mengonsumsi data. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.