Tüm Ürünler
Search
Belge Merkezi

Tablestore:Create a tunnel

Son Güncelleme:Oct 02, 2026

Tablestore SDK for Java kullanarak bir veri tablosu için BaseData, Stream veya BaseAndStream türünde tünel oluşturun.

Önkoşullar

Özellik açıklaması

Bir veri tablosu için tünel oluşturmak üzere createTunnel yöntemini çağırın. Aynı veri tablosu için birden çok tünel oluşturabilirsiniz. Tünel türü, tüketilecek verileri belirler: BaseData yalnızca tam verileri tüketir, Stream yalnızca artımlı verileri tüketir ve BaseAndStream önce tam verileri ardından artımlı verileri tüketir.

Not

Bir veri tablosu için Stream özelliği devre dışı bırakılmışsa, Stream veya BaseAndStream tüneli oluşturduğunuzda sistem Stream özelliğini otomatik olarak etkinleştirir ve artımlı günlüklerin saklama süresini yedi gün olarak ayarlar.

CreateTunnelResponse createTunnel(CreateTunnelRequest request)
        throws TableStoreException, ClientException

Aşağıdaki örnek kod, example_table veri tablosu için example_tunnel adlı bir BaseData tüneli oluşturur.

String tableName = "example_table";
String tunnelName = "example_tunnel";

CreateTunnelRequest request =
        new CreateTunnelRequest(
                tableName, tunnelName, TunnelType.BaseData);
CreateTunnelResponse response = tunnelClient.createTunnel(request);

System.out.println("TunnelId: " + response.getTunnelId());

Parametreler

CreateTunnelRequest aşağıdaki parametreleri içerir:


Ad


Tür


Açıklama


tableName (gerekli)


String


Veri tablosunun adı.


tunnelName (gerekli)


String


Tünelin adı.


tunnelType (gerekli)


TunnelType


Tünel türü. BaseData yalnızca tam verileri tüketir. Stream yalnızca artımlı verileri tüketir. BaseAndStream önce tam verileri ardından artımlı verileri tüketir.


streamTunnelConfig (isteğe bağlı)


StreamTunnelConfig

Stream ve BaseAndStream tünelleri için artımlı veri aralığı yapılandırması. Bu parametreyi belirtirken geçerli bir zaman aralığı tanımlayın.


streamRecordOptions (isteğe bağlı)


StreamRecordOptions

Stream ve BaseAndStream tünelleri için artımlı kayıt yapılandırması. Bu parametre Tablestore SDK for Java 5.17.11 veya sonraki bir sürümü gerektirir.

Artımlı veri aralığı

streamTunnelConfig parametresi StreamTunnelConfig türündedir ve aşağıdaki alanları içerir:


Ad


Tür


Açıklama


flag (isteğe bağlı)


StartOffsetFlag

startOffset belirtilmediğinde kullanılan başlangıç konumu. LATEST değeri tünelin oluşturulma zamanından başlar. EARLIEST değeri mevcut olan en eski artımlı günlükten başlar. Varsayılan değer: LATEST.


startOffset (isteğe bağlı)


long


Artımlı verilerin başlangıç zaman damgası. Birim: milisaniye. Geçerli aralık: [Geçerli sistem saati - Stream saklama süresi + 5 dakika, geçerli sistem saati). Bu parametre belirtildiğinde flag parametresi dikkate alınmaz.


endOffset (isteğe bağlı)


long


Artımlı verilerin bitiş zaman damgası. Birim: milisaniye. Her iki zaman damgası da belirtilirse bu parametre startOffset değerinden büyük olmalıdır. Bu parametre belirtilmezse artımlı veri tüketimi devam eder.

Not

Stream saklama süresi, artımlı günlüklerin saklandığı süredir. Maksimum değer yedi gündür. Bir veri tablosu için Stream özelliğini etkinleştirirken bu süreyi ayarlayabilirsiniz. Ayarlandıktan sonra bu süre değiştirilemez.

Artımlı kayıt içeriği

streamRecordOptions parametresi StreamRecordOptions türündedir ve aşağıdaki alanları içerir:


Ad


Tür


Açıklama


getVersionGeneratorValue (isteğe bağlı)


boolean

Artımlı kayıtların sürüm üreteci tarafından oluşturulan değeri içerip içermeyeceğini belirtir. Varsayılan değer: false.


getSysColumns (isteğe bağlı)


boolean

Artımlı kayıtların sistem sütunlarını içerip içermeyeceğini belirtir. Varsayılan değer: false.


getNewRowInfo (isteğe bağlı)


boolean

Artımlı kayıtların en son satır bilgilerini içerip içermeyeceğini belirtir. Varsayılan değer: false.


oldColumnsToGet (isteğe bağlı)


StreamColumn

Orijinal satırdan döndürülecek öznitelik sütunları.


newColumnsToGet (isteğe bağlı)


StreamColumn

En son satırdan döndürülecek öznitelik sütunları.

Artımlı kayıt sütunları

streamRecordOptions.oldColumnsToGet ve streamRecordOptions.newColumnsToGet parametreleri StreamColumn türündedir ve aşağıdaki alanları içerir:


Ad


Tür


Açıklama


columnType (gerekli)


StreamColumnType

Öznitelik sütunu seçim modu. SPECIFIED_COLUMN belirli öznitelik sütunlarını seçer. INPUT_COLUMNS işlem tarafından yazılan veya güncellenen öznitelik sütunlarını seçer. ALL_COLUMNS tüm öznitelik sütunlarını seçer.


columnNames (isteğe bağlı)


List<String>

columnType değeri SPECIFIED_COLUMN olarak ayarlandığında döndürülecek öznitelik sütunlarının adları.

Yanıt

CreateTunnelResponse aşağıdaki yanıt alanını içerir:


Alan


Tür


Açıklama


tunnelId


String

Oluşturulan tünelin kimliği. Kimliği almak için getTunnelId() yöntemini çağırın. Tünel verilerini tüketmek için bu kimlik gereklidir.

Senaryolar

Artımlı veri aralığı belirtme

Aşağıdaki örnek kod bir Stream tüneli oluşturur ve son bir saatin artımlı veri aralığını belirtir.

long endTime = System.currentTimeMillis() - 1_000L;
long startTime = endTime - 60 * 60 * 1000L;
StreamTunnelConfig streamConfig =
        new StreamTunnelConfig(startTime, endTime);

CreateTunnelRequest request =
        new CreateTunnelRequest(
                "example_table",
                "example_stream_tunnel",
                TunnelType.Stream);
request.setStreamTunnelConfig(streamConfig);

CreateTunnelResponse response = tunnelClient.createTunnel(request);
System.out.println("TunnelId: " + response.getTunnelId());

Artımlı kayıt içeriğini yapılandırma

Aşağıdaki örnek kod bir Stream tüneli oluşturur. Artımlı kayıtların sürüm üreteci değerini, sistem sütunlarını, en son satır bilgilerini, orijinal satırdaki value öznitelik sütununu ve en son satırdaki tüm öznitelik sütunlarını döndürecek şekilde yapılandırır.

StreamColumn oldColumns =
        new StreamColumn(StreamColumnType.SPECIFIED_COLUMN);
oldColumns.addColumnName("value");

StreamRecordOptions recordOptions = new StreamRecordOptions();
recordOptions.setGetVersionGeneratorValue(true);
recordOptions.setGetSysColumns(true);
recordOptions.setGetNewRowInfo(true);
recordOptions.setOldColumnsToGet(oldColumns);
recordOptions.setNewColumnsToGet(
        new StreamColumn(StreamColumnType.ALL_COLUMNS));

CreateTunnelRequest request =
        new CreateTunnelRequest(
                "example_table", "example_stream_tunnel", TunnelType.Stream);
request.setStreamRecordOptions(recordOptions);

CreateTunnelResponse response = tunnelClient.createTunnel(request);
System.out.println("TunnelId: " + response.getTunnelId());