Mempartisi kueri dengan menampilkan kursor partisi yang dapat digunakan untuk menjalankan kueri secara paralel. Kursor partisi yang dikembalikan adalah titik terpisah yang dapat digunakan oleh documents.runQuery sebagai titik awal/akhir untuk hasil kueri.
Permintaan HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
URL menggunakan sintaks gRPC Transcoding.
Parameter jalur
Parameter | |
---|---|
parent |
Wajib diisi. Nama resource induk. Dalam format: |
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Kolom | |
---|---|
partitionCount |
Jumlah maksimum titik partisi yang diinginkan. Partisi dapat ditampilkan di beberapa halaman hasil. Angkanya harus positif. Jumlah partisi sebenarnya yang ditampilkan mungkin lebih sedikit. Misalnya, parameter ini dapat ditetapkan ke jumlah kueri paralel yang lebih sedikit dari jumlah kueri paralel yang akan dijalankan, atau satu untuk menjalankan tugas pipeline data, yaitu satu lebih sedikit dari jumlah worker atau instance komputasi yang tersedia. |
pageToken |
Nilai Misalnya, dua panggilan berikutnya yang menggunakan pageToken mungkin menampilkan:
Untuk mendapatkan kumpulan hasil lengkap yang diurutkan sehubungan dengan hasil kueri yang diberikan ke documents.partitionQuery, kumpulan hasil harus digabungkan: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W |
pageSize |
Jumlah maksimum partisi yang akan ditampilkan dalam panggilan ini, tunduk pada Misalnya, jika |
Kolom union query_type . Kueri yang akan dipartisi. query_type hanya ada berupa salah satu diantara berikut: |
|
structuredQuery |
Kueri terstruktur. Kueri harus menentukan koleksi dengan semua turunan dan diurutkan berdasarkan nama menaik. Filter, urutan menurut, batas, offset, dan kursor awal/akhir tidak didukung. |
Kolom union consistency_selector . Mode konsistensi untuk permintaan ini. Jika tidak disetel, defaultnya adalah konsistensi kuat. consistency_selector hanya ada berupa salah satu diantara berikut: |
|
readTime |
Membaca dokumen sebagaimana adanya pada waktu tertentu. Ini harus berupa stempel waktu presisi mikrodetik dalam satu jam terakhir, atau jika Pemulihan Point-in-Time diaktifkan, juga dapat berupa stempel waktu menit penuh dalam 7 hari terakhir. Stempel waktu dalam RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
Isi respons
Respons untuk Firestore.PartitionQuery
.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{
"partitions": [
{
object ( |
Kolom | |
---|---|
partitions[] |
Hasil partisi. Setiap partisi adalah titik bagi yang dapat digunakan oleh documents.runQuery sebagai titik awal atau akhir untuk hasil kueri. Permintaan documents.runQuery harus dibuat dengan kueri yang sama dengan yang diberikan ke permintaan documents.partitionQuery ini. Kursor partisi akan diurutkan sesuai dengan urutan yang sama seperti hasil kueri yang diberikan ke documents.partitionQuery. Misalnya, jika permintaan documents.partitionQuery menampilkan kursor partisi A dan B, menjalankan tiga kueri berikut akan menampilkan seluruh set hasil kueri asli:
Hasil kosong dapat menunjukkan bahwa kueri memiliki terlalu sedikit hasil untuk dipartisi, atau bahwa kueri tersebut belum didukung untuk pembuatan partisi. |
nextPageToken |
Token halaman yang dapat digunakan untuk meminta kumpulan hasil tambahan, hingga jumlah yang ditentukan oleh |
Cakupan otorisasi
Memerlukan salah satu cakupan OAuth berikut:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Autentikasi.