Method: projects.databases.documents.partitionQuery

Sorguyu, paralel olarak çalıştırmak için kullanılabilecek bölüm imleçleri döndürerek bölümlere ayırır. Döndürülen bölüm imleçleri, documents.runQuery tarafından sorgu sonuçları için başlangıç/varış noktaları olarak kullanılabilecek bölünmüş noktalardır.

HTTP isteği

POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Yol parametreleri

Parametreler
parent

string

Zorunlu. Üst kaynak adı. Biçimi: projects/{projectId}/databases/{databaseId}/documents. Doküman kaynağı adları desteklenmez; yalnızca veritabanı kaynağı adları belirtilebilir.

İstek içeriği

İsteğin gövdesi, aşağıdaki yapıya sahip veriler içerir:

JSON gösterimi
{
  "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.
}
Alanlar
partitionCount

string (int64 format)

İstenen maksimum bölüm noktası sayısı. Bölümler, birden çok sonuç sayfasında döndürülebilir. Sayı pozitif olmalıdır. Döndürülen bölümlerin gerçek sayısı daha az olabilir.

Örneğin, bu, çalıştırılacak paralel sorgu sayısından veya bir veri ardışık düzeni işi yürütürken, kullanılabilir çalışan ya da bilgi işlem örneği sayısından bir daha az olacak şekilde ayarlanabilir.

pageToken

string

Ek sonuç grubu almak için kullanılabilecek document.partitionQuery'ye önceki bir çağrıdan döndürülen nextPageToken değeri. Sonuç grupları arasında sıralama garantisi verilmez. Bu nedenle, birden fazla sonuç kümesi kullanmak, farklı sonuç kümelerini birleştirmek gerektirir.

Örneğin, pageToken kullanılarak art arda yapılan iki çağrı şu sonucu döndürebilir:

  • imleç B, imleç M, imleç Q
  • imleç A, imleç U, imleç W

documents.partitionQuery için sağlanan sorgunun sonuçlarına göre sıralanmış tam bir sonuç kümesi elde etmek için, sonuç kümeleri birleştirilmelidir: imleç A, imleç B, imleç M, imleç Q, imleç U, imleç W

pageSize

integer

Bu çağrıda döndürülecek maksimum bölüm sayısı (partitionCount şartlarına tabidir.)

Örneğin, partitionCount = 10 ve pageSize = 8 ise document.partitionQuery'ye yapılan ilk çağrı, en fazla 8 bölümlendirme ve daha fazla sonuç varsa bir nextPageToken döndürür. document.partitionQuery'ye yapılan ikinci bir çağrı, partitionCount içinde belirtilen toplam 10 bölümlendirmeyi tamamlamak için en fazla 2 bölümlendirme döndürür.

Birleştirme alanı query_type. Bölümlendirilecek sorgu. query_type şunlardan yalnızca biri olabilir:
structuredQuery

object (StructuredQuery)

Yapılandırılmış bir sorgudur. Sorgu, tüm alt öğeleri içeren koleksiyonu belirtmeli ve artan ada göre sıralanmalıdır. Diğer filtreler, sıralama ölçütleri, sınırlar, ofsetler ve başlangıç/bitiş imleçleri desteklenmez.

Birleştirme alanı consistency_selector. Bu istek için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
readTime

string (Timestamp format)

Dokümanları verilen zaman olduğu gibi okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

Yanıt gövdesi

Firestore.PartitionQuery için yanıt.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "partitions": [
    {
      object (Cursor)
    }
  ],
  "nextPageToken": string
}
Alanlar
partitions[]

object (Cursor)

Bölüm sonuçları. Her bölüm, documents.runQuery tarafından sorgu sonuçları için başlangıç veya bitiş noktası olarak kullanılabilen bir bölme noktasıdır. documents.runQuery istekleri, bu documents.partitionQuery isteğine sağlanan sorguyla yapılmalıdır. Bölüm imleçleri, document.partitionQuery'ye sağlanan sorgunun sonuçlarıyla aynı sıralamaya göre sıralanır.

Örneğin, documents.partitionQuery isteği A ve B bölüm imleçlerini döndürürse aşağıdaki üç sorgunun çalıştırılması, orijinal sorgunun tüm sonuç kümesini döndürür:

  • sorgu, endAt A
  • sorgu, startAt A, endAt B
  • sorgu, startAt B

Boş sonuç, sorguda bölümlendirmek için çok az sonuç olduğunu veya sorgunun bölümlendirme için henüz desteklenmediğini gösterebilir.

nextPageToken

string

document.partitionQuery isteğinde partitionCount tarafından belirtilen sayıya kadar, ek bir sonuç grubu istemek için kullanılabilecek bir sayfa jetonu. Boş bırakılırsa başka sonuç yok.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.