Method: projects.databases.documents.partitionQuery

Sorguyu paralel olarak çalıştırmak için kullanılabilecek bölüm imleçlerini döndürerek sorguyu bölümlendirir. Döndürülen bölüm imleçleri, documents.runQuery tarafından sorgu sonuçları için başlangıç/bitiş noktaları olarak kullanılabilen bölme noktalarıdı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ı. Belirtilen biçimde: projects/{projectId}/databases/{databaseId}/documents. Doküman kaynağı adları desteklenmez, yalnızca veritabanı kaynağı adları belirtilebilir.

İstek içeriği

İstek gövdesi, aşağıdaki yapıya sahip verileri 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 gerçek bölüm 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 çalıştırırken mevcut çalışan ya da işlem örneği sayısından bir daha az olacak şekilde ayarlanabilir.

pageToken

string

Ek sonuç grubu almak için kullanılabilecek önceki documents.partitionQuery çağrısından döndürülen nextPageToken değeri. Sonuç grupları arasında sıralama garantisi yoktur. Dolayısıyla, birden fazla sonuç kümesi kullanmak için farklı sonuç kümelerinin birleştirilmesi gerekir.

Örneğin, pageToken kullanan sonraki iki çağrı şu sonucu döndürebilir:

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

Docs.partitionQuery'ye 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, Q, imleç U, imle W

pageSize

integer

partitionCount şartlarına tabi olarak, bu çağrıda döndürülecek maksimum bölüm sayısı.

Örneğin, partitionCount = 10 ve pageSize = 8 ise, documents.partitionQuery için yapılan ilk çağrı en fazla 8 bölüm ve daha fazla sonuç varsa bir nextPageToken döndürür. Docs.partitionQuery için ikinci bir çağrı, partitionCount içinde belirtilen toplam 10 bölümün tamamlanması için en fazla 2 bölüm döndürür.

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

object (StructuredQuery)

Yapılandırılmış bir sorgu. Sorgu, koleksiyonu tüm alt alt öğelerle belirtmeli ve ada göre artan düzende 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. Ayarlanmazsa varsayılan olarak güçlü tutarlılık kullanılır. consistency_selector şunlardan yalnızca biri olabilir:
readTime

string (Timestamp format)

Belgeleri belirtilen zamanda olduğu gibi okur.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip 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 gövdesi 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. Docs.runQuery istekleri, bu documents.partitionQuery isteğine sağlanan sorguyla yapılmalıdır. Bölüm imleçleri, documents.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 üç sorgu çalıştırıldığında, orijinal sorgunun tüm sonuç kümesi döndürülür:

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

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

nextPageToken

string

Docs.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ç yoktur.

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ış başlıklı makaleye bakın.