Partycjonuje zapytanie przez zwrócenie kursorów partycji, których można używać do równoległego wykonywania zapytania. Zwrócone kursory partycji to punkty podziału, których można używać w documents.runQuery jako punktu początkowego i końcowego wyników zapytania.
Żądanie HTTP
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
Parametry | |
---|---|
parent |
Wymagane. Nazwa zasobu nadrzędnego. W formacie: |
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Pola | |
---|---|
partitionCount |
Żądana maksymalna liczba punktów partycji. Partycje mogą być zwracane na wielu stronach wyników. Liczba musi być liczbą dodatnią. Rzeczywista liczba zwróconych partycji może być mniejsza. Wartość może na przykład być o 1 mniejsza niż liczba równoległych zapytań do wykonania lub o 1 mniej niż w przypadku uruchomienia zadania potoku danych. |
pageToken |
Wartość Na przykład dwa kolejne wywołania z użyciem parametru pageToken mogą zwrócić:
Aby uzyskać pełny zbiór wyników uporządkowany w odniesieniu do wyników zapytania dostarczonego w ramach zapytania document.partitionQuery, należy scalać zbiory wyników: kursor A, kursor B, kursor M, kursor Q, kursor U, kursor W |
pageSize |
Maksymalna liczba partycji do zwrócenia w ramach tego wywołania (określana jako Jeśli na przykład |
Pole sumy query_type . Zapytanie do partycjonowania. query_type może być tylko jedną z tych wartości: |
|
structuredQuery |
Uporządkowane zapytanie. Zapytanie musi określać kolekcję ze wszystkimi elementami podrzędnymi i być uporządkowane rosnąco według nazwy. Inne filtry, kolejność według kolejności, limity, przesunięcia ani kursory początku/końca nie są obsługiwane. |
Pole sumy consistency_selector . Tryb spójności dla tego żądania. Jeśli nie jest skonfigurowana, domyślnie stosowana jest silna spójność. consistency_selector może być tylko jedną z tych wartości: |
|
readTime |
Odczytuje dokumenty w takiej postaci, w jakiej były w danym momencie. Musi to być sygnatura czasowa precyzji określona w mikrosekundach z ostatniej godziny lub jeśli włączona jest funkcja odzyskiwania do określonego momentu, może to być dodatkowo sygnatura czasowa obejmująca całą minutę z ostatnich 7 dni. Sygnatura czasowa w formacie „Zulu” RFC3339 UTC z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
Treść odpowiedzi
Odpowiedź dotycząca: Firestore.PartitionQuery
.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{
"partitions": [
{
object ( |
Pola | |
---|---|
partitions[] |
Wyniki partycjonowania. Każda partycja jest punktem podziału, który może być używany przez document.runQuery jako punkt początkowy lub końcowy dla wyników zapytania. Żądania document.runQuery muszą być wysyłane z tym samym zapytaniem, które zostało wysłane w ramach tego żądania document.partitionQuery. Kursory partycji będą uporządkowane zgodnie z tą samą kolejnością co wyniki zapytania dostarczonego do document.partitionQuery. Jeśli na przykład żądanie document.partitionQuery zwróci kursory partycji A i B, uruchomienie tych 3 zapytań spowoduje zwrócenie całego zestawu wyników pierwotnego zapytania:
Pusty wynik może oznaczać, że zapytanie ma zbyt mało wyników, aby go partycjonować, lub że zapytanie nie jest jeszcze obsługiwane w ramach partycjonowania. |
nextPageToken |
Token strony, który może być używany do żądania dodatkowego zbioru wyników do wartości określonej przez |
Zakresy autoryzacji
Wymaga jednego z tych zakresów OAuth:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Więcej informacji znajdziesz w artykule Omówienie uwierzytelniania.