Method: projects.databases.documents.partitionQuery

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/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery

URL menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
parent

string

Wajib. Nama resource induk. Dalam format: projects/{projectId}/databases/{databaseId}/documents. Nama resource dokumen tidak didukung; hanya nama resource database yang dapat ditetapkan.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "partitionCount": string,
  "pageToken": string,
  "pageSize": integer,

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.

  // Union field consistency_selector can be only one of the following:
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
Kolom
partitionCount

string (int64 format)

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

string

Nilai nextPageToken yang ditampilkan dari panggilan sebelumnya ke documents.partitionQuery yang dapat digunakan untuk mendapatkan kumpulan hasil tambahan. Tidak ada jaminan pengurutan di antara kumpulan hasil. Dengan demikian, menggunakan beberapa set hasil akan memerlukan penggabungan set hasil yang berbeda.

Misalnya, dua panggilan berikutnya yang menggunakan pageToken mungkin menampilkan:

  • kursor B, kursor M, kursor Q
  • kursor A, kursor U, kursor W

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

integer

Jumlah partisi maksimum untuk ditampilkan dalam panggilan ini, tunduk pada partitionCount.

Misalnya, jika partitionCount = 10 dan pageSize = 8, panggilan pertama ke documents.partitionQuery akan menampilkan hingga 8 partisi dan nextPageToken jika ada hasil lainnya. Panggilan kedua ke documents.partitionQuery akan menampilkan hingga 2 partisi, untuk menyelesaikan total 10 partisi yang ditentukan dalam partitionCount.

Kolom union query_type. Kueri untuk mempartisi. query_type hanya ada berupa salah satu diantara berikut:
structuredQuery

object (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

string (Timestamp format)

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: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

Isi respons

Respons untuk Firestore.PartitionQuery.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "partitions": [
    {
      object (Cursor)
    }
  ],
  "nextPageToken": string
}
Kolom
partitions[]

object (Cursor)

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:

  • kueri, endAt A
  • kueri, startAt A, endAt B
  • kueri, startAt B

Hasil kosong dapat menunjukkan bahwa kueri memiliki hasil yang terlalu sedikit untuk dipartisi, atau kueri belum didukung untuk partisi.

nextPageToken

string

Token halaman yang dapat digunakan untuk meminta serangkaian hasil tambahan, hingga angka yang ditentukan oleh partitionCount di permintaan documents.partitionQuery. Jika kosong, tidak ada hasil lagi.

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.