Mempartisi kueri dengan menampilkan kursor partisi yang dapat digunakan untuk menjalankan kueri secara paralel. Kursor partisi yang ditampilkan 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 sintaksis gRPC Transcoding.
Parameter jalur
Parameter | |
---|---|
parent |
Wajib. 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 titik partisi maksimum yang diinginkan. Partisi dapat ditampilkan di beberapa halaman hasil. Angkanya harus positif. Jumlah partisi sebenarnya yang ditampilkan mungkin lebih sedikit. Misalnya, nilai ini dapat disetel menjadi kurang dari jumlah kueri paralel yang akan dijalankan, atau dalam menjalankan tugas pipeline data, jumlahnya lebih sedikit dari jumlah pekerja atau instance komputasi yang tersedia. |
pageToken |
Nilai Misalnya, dua panggilan berikutnya yang menggunakan pageToken mungkin menampilkan:
Untuk memperoleh rangkaian hasil lengkap yang diurutkan sesuai dengan hasil kueri yang diberikan ke documents.partitionQuery, kumpulan hasilnya harus digabungkan: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W |
pageSize |
Jumlah partisi maksimum untuk ditampilkan dalam panggilan ini, tunduk pada Misalnya, jika |
Kolom union query_type . Kueri untuk mempartisi. 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 lainnya tidak didukung. |
Kolom union consistency_selector . Mode konsistensi untuk permintaan ini. Jika tidak disetel, setelan default-nya adalah konsistensi kuat. consistency_selector hanya ada berupa salah satu diantara berikut: |
|
readTime |
Membaca dokumen sebagaimana adanya pada waktu yang ditentukan. Ini harus berupa stempel waktu presisi mikrodetik dalam satu jam terakhir, atau jika Pemulihan Point-in-Time diaktifkan, dapat juga berupa stempel waktu menit penuh dalam 7 hari terakhir. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. 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 pemisahan yang dapat digunakan oleh documents.runQuery sebagai titik awal atau akhir untuk hasil kueri. Permintaan document.runQuery harus dibuat dengan kueri yang sama dengan yang diberikan ke permintaan documents.partitionQuery ini. Kursor partisi akan diurutkan sesuai dengan urutan yang sama dengan 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 kumpulan hasil kueri asli:
Hasil kosong dapat menunjukkan bahwa kueri memiliki hasil yang terlalu sedikit untuk dipartisi, atau kueri belum didukung untuk partisi. |
nextPageToken |
Token halaman yang dapat digunakan untuk meminta serangkaian hasil tambahan, hingga angka 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 informasi selengkapnya, lihat Ringkasan Autentikasi.