Bir veya daha fazla tablodan aynı anda birden çok veri satırı okur.
BatchGetRow işlemi, bir dizi GetRow işleminden oluşur. BatchGetRow işlemini çağırdığınızda her GetRow işlemi ayrı ayrı yürütülür, her biri için yanıt ayrı ayrı döndürülür ve kapasite birimleri (CU) her GetRow işlemi için bağımsız olarak hesaplanır.
GetRow işlemini defalarca çağırmak yerine BatchGetRow işlemini kullanmak yanıt süresini azaltır ve veri okuma performansını artırır.
İstek sözdizimi
message BatchGetRowRequest {
repeated TableInBatchGetRowRequest tables = 1;
}
|
Parametre |
Tür |
Zorunlu |
Açıklama |
|
tables |
repeated TableInBatchGetRowRequest |
Evet |
Her tablodan okumak istediğiniz satırlar. Aşağıdaki koşullardan herhangi biri gerçekleşirse işlem başarısız olur ve hata döndürülür:
|
Yanıt sözdizimi
BatchGetRow işlemi satır düzeyinde kısmen başarısız olabilir. Ancak işlem yine de HTTP 200 durum kodunu döndürür. Uygulamanın, her satır için çalıştırma sonucunu onaylayıp ilerlemek üzere RowInBatchGetRowResponse içindeki hataları denetlemesi gerekir.
message BatchGetRowResponse {
repeated TableInBatchGetRowResponse tables = 1;
}
|
Parametre |
Tür |
Açıklama |
|
tables |
repeated TableInBatchGetRowResponse |
Her tablodan okunan satırlar. Yanıttaki TableInBatchGetRowResponse nesnelerinin sırası, BatchGetRowRequest içindeki TableInBatchGetRowRequest nesnelerinin sırasıyla aynıdır. TableInBatchGetRowResponse içindeki RowInBatchGetRowResponse nesnelerinin sırası, TableInBatchGetRowRequest içindeki RowInBatchGetRowRequest nesnelerinin sırasıyla aynıdır. Bir satır mevcut değilse veya bir satırda columns_to_get parametresiyle belirtilen sütunlar boşsa RowInBatchGetRowResponse nesnesi yine de TableInBatchGetRowResponse nesnesi içinde yer alır. Ancak bu satır için primary_key_columns ve attribute_columns parametreleri boştur. Bir satır okunamadığında ilgili satır için RowInBatchGetRowResponse içindeki is_ok değeri false olur ve satır boş bırakılır. |
Tablestore SDK'lerini kullanma
Bir veya daha fazla tablodan aynı anda birden çok veri satırı okumak için aşağıdaki Tablestore SDK'lerini kullanabilirsiniz:
Java için Tablestore SDK'si: Tek seferde birden çok veri satırını okuma
Go için Tablestore SDK'si: Tek seferde birden çok veri satırını okuma
Python için Tablestore SDK'si: Tek seferde birden çok veri satırını okuma
Node.js için Tablestore SDK'si: Tek seferde birden çok veri satırını okuma
.NET için Tablestore SDK'si: Tek seferde birden çok veri satırını okuma
PHP için Tablestore SDK'si: Tek seferde birden çok veri satırını okuma
CU tüketimi
İşlem başarısız olursa CU tüketilmez.
İstek zaman aşımına uğrar ve sonuçlar belirsiz kalırsa CU tüketilebilir veya tüketilmeyebilir.
Diğer durumlarda her RowInBatchGetRowRequest nesnesi, okuma CU'larının ayrı ayrı hesaplandığı bir GetRow işlemi olarak değerlendirilir. Daha fazla bilgi için bkz. CU tüketimi.