Batas waktu dan penomoran halaman kueri
Layanan Tabel mendukung dua jenis operasi kueri berikut ini:
Operasi Tabel Kueri mengembalikan daftar tabel dalam akun penyimpanan yang ditentukan. Daftar tabel dapat difilter sesuai dengan kriteria yang ditentukan pada permintaan.
Operasi Entitas Kueri mengembalikan sekumpulan entitas dari tabel yang ditentukan. Hasil kueri dapat difilter sesuai dengan kriteria yang ditentukan pada permintaan.
Kueri terhadap layanan Tabel dapat mengembalikan maksimum 1.000 item pada satu waktu dan dapat dijalankan selama maksimal lima detik. Jika kumpulan hasil berisi lebih dari 1.000 item, jika kueri tidak selesai dalam waktu lima detik, atau jika kueri melewati batas partisi, respons menyertakan header yang memberi pengembang token kelanjutan untuk digunakan untuk melanjutkan kueri pada item berikutnya dalam kumpulan hasil. Header token kelanjutan dapat dikembalikan untuk operasi Tabel Kueri atau operasi Entitas Kueri .
Perhatikan bahwa total waktu yang dialokasikan untuk permintaan penjadwalan dan pemrosesan kueri adalah 30 detik, termasuk lima detik untuk eksekusi kueri.
Dimungkinkan bagi kueri untuk tidak mengembalikan hasil tetapi masih mengembalikan header kelanjutan.
Header token kelanjutan diperlihatkan dalam tabel berikut.
Header token kelanjutan | Deskripsi |
---|---|
x-ms-continuation-NextTableName |
Header ini dikembalikan dalam konteks operasi Tabel Kueri . Jika daftar tabel yang dikembalikan tidak lengkap, hash nama tabel berikutnya dalam daftar disertakan dalam header token kelanjutan. |
x-ms-continuation-NextPartitionKey |
Header ini dikembalikan dalam konteks operasi Entitas Kueri . Header berisi hash kunci partisi berikutnya yang akan dikembalikan dalam kueri berikutnya terhadap tabel. |
x-ms-continuation-NextRowKey |
Header ini dikembalikan dalam konteks operasi Entitas Kueri . Header berisi hash kunci baris berikutnya yang akan dikembalikan dalam kueri berikutnya terhadap tabel. Perhatikan bahwa dalam beberapa kasus, x-ms-continuation-NextRowKey mungkin null . |
Untuk mengambil token kelanjutan dan menjalankan kueri berikutnya untuk mengembalikan halaman hasil berikutnya, pertama-tama periksa header respons untuk token kelanjutan. Jika tidak ada header atau nilai header , null
tidak ada entitas tambahan yang akan dikembalikan.
Catatan
Saat membuat permintaan berikutnya yang menyertakan token kelanjutan, pastikan untuk meneruskan URI asli pada permintaan. Misalnya, jika Anda telah menentukan $filter
opsi kueri , , $select
atau $top
sebagai bagian dari permintaan asli, Anda akan ingin menyertakan opsi tersebut pada permintaan berikutnya. Jika tidak, permintaan Anda berikutnya dapat mengembalikan hasil yang tidak terduga.
Perhatikan bahwa $top
opsi kueri dalam kasus ini menentukan jumlah hasil maksimum per halaman, bukan jumlah hasil maksimum dalam seluruh set respons.
Lihat Mengkueri Tabel dan Entitas untuk detail selengkapnya.
Jika Anda menangani token kelanjutan secara manual menggunakan Pustaka Klien Microsoft .NET, pertama-tama transmisikan hasil operasi kueri ke objek QueryOperationResponse . Anda kemudian dapat mengakses header token kelanjutan di properti QueryOperationResponse
Header objek.
Setelah Anda mengambil token kelanjutan, gunakan nilainya untuk membuat kueri untuk mengembalikan halaman hasil berikutnya. URI permintaan kueri dapat mengambil parameter ini, yang sesuai dengan header token kelanjutan yang dikembalikan dengan respons:
NextTableName
NextPartitionKey
NextRowKey
Catatan
Total waktu yang dialokasikan untuk permintaan penjadwalan dan pemrosesan kueri adalah 30 detik, termasuk lima detik untuk eksekusi kueri.
Jika operasi adalah operasi sisipkan, perbarui, atau hapus, operasi mungkin telah berhasil di server meskipun ada kesalahan yang dikembalikan oleh klien. Ini dapat terjadi ketika batas waktu klien diatur ke kurang dari 30 detik, yang merupakan batas waktu maksimum untuk operasi sisipkan, perbarui, atau hapus.
Header Respons Sampel dan Permintaan Berikutnya
Contoh kode berikut menunjukkan sekumpulan header respons sampel dari kueri entitas terhadap tabel bernama Pelanggan yang mengembalikan header kelanjutan. Keduanya x-ms-continuation-NextPartitionKey
dan x-ms-continuation-NextRowKey
dikembalikan.
Date: Mon, 27 Jun 2016 20:11:08 GMT
Content-Type: application/json;charset=utf-8
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
Cache-Control: no-cache
x-ms-request-id: f9b2cd09-4dec-4570-b06d-4fa30179a58e
x-ms-version: 2015-12-11
x-ms-continuation-NextPartitionKey: 1!8!U21pdGg-
x-ms-continuation-NextRowKey: 1!8!QmVuOTk5
Content-Length: 880298
Permintaan untuk halaman data berikutnya dapat dibuat seperti URI berikut:
http://myaccount.table.core.windows.net/Customers?NextPartitionKey=1!8!U21pdGg-&NextRowKey=1!12!QmVuMTg5OA--
Lihat juga
Mengatasi Sumber Daya Layanan Tabel
Operasi pada Tabel
Operasi pada Entitas