Method: projects.databases.documents.partitionQuery

מחיצות שאילתה על ידי החזרת סמני מחיצה שניתן להשתמש בהם כדי להפעיל את השאילתה במקביל. סמני המחיצה המוחזרים הם נקודות מפוצלות שיכולות לשמש את documents.runQuery כנקודות התחלה/סיום עבור תוצאות השאילתה.

בקשת HTTP

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

כתובת האתר משתמשת בתחביר GRPC Transcoding .

פרמטרים של נתיב

פרמטרים
parent

string

נדרש. שם המשאב האב. בפורמט: projects/{projectId}/databases/{databaseId}/documents . שמות משאבי מסמכים אינם נתמכים; ניתן לציין רק שמות של משאבי מסד נתונים.

גוף הבקשה

גוף הבקשה מכיל נתונים עם המבנה הבא:

ייצוג 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.
}
שדות
partitionCount

string ( int64 format)

המספר המרבי הרצוי של נקודות מחיצה. המחיצות עשויות להיות מוחזרות על פני מספר דפי תוצאות. המספר חייב להיות חיובי. המספר האמיתי של המחיצות המוחזרות עשוי להיות קטן יותר.

לדוגמה, זה עשוי להיות מוגדר לאחד פחות ממספר השאילתות המקבילות שיש להפעיל, או בהפעלת משימת צנרת נתונים, אחד פחות ממספר העובדים או מופעי המחשוב הזמינים.

pageToken

string

הערך nextPageToken הוחזר מקריאה קודמת ל-documents.partitionQuery שעשוי לשמש כדי לקבל קבוצה נוספת של תוצאות. אין ערבויות להזמנה בין קבוצות של תוצאות. לפיכך, שימוש במספר קבוצות של תוצאות ידרוש מיזוג של קבוצות התוצאות השונות.

לדוגמה, שתי קריאות עוקבות באמצעות pageToken עשויות לחזור:

  • סמן B, סמן M, סמן Q
  • סמן A, סמן U, סמן W

כדי לקבל ערכת תוצאות מלאה מסודרת ביחס לתוצאות השאילתה שסופקה ל-documents.partitionQuery, יש למזג את ערכות התוצאות: סמן A, סמן B, סמן M, סמן Q, סמן U, סמן W

pageSize

integer

המספר המרבי של מחיצות להחזיר בשיחה זו, בכפוף ל- partitionCount .

לדוגמה, אם partitionCount = 10 ו- pageSize = 8, הקריאה הראשונה ל-documents.partitionQuery תחזיר עד 8 מחיצות ו- nextPageToken אם קיימות תוצאות נוספות. קריאה שנייה ל-documents.partitionQuery תחזיר עד 2 מחיצות, כדי להשלים את סך ה-10 שצוינו ב- partitionCount .

שדה איחוד query_type . השאילתה למחיצה. query_type יכול להיות רק אחד מהבאים:
structuredQuery

object ( StructuredQuery )

שאילתה מובנית. על השאילתה לציין אוסף עם כל הצאצאים ולהיות מסודר לפי שם עולה. אין תמיכה במסננים אחרים, מעברי הזמנה, מגבלות, היסט וסמני התחלה/סיום.

consistency_selector של שדה האיחוד . מצב העקביות עבור בקשה זו. אם לא מוגדר, ברירת המחדל היא עקביות חזקה. consistency_selector יכול להיות רק אחד מהאפשרויות הבאות:
readTime

string ( Timestamp format)

קורא מסמכים כפי שהיו בזמן הנתון.

זו חייבת להיות חותמת זמן מדויקת של מיקרו-שנייה במהלך השעה האחרונה, או אם שחזור נקודת זמן מופעל, יכול להיות בנוסף חותמת זמן של דקה שלמה במהלך 7 הימים האחרונים.

חותמת זמן בפורמט RFC3339 UTC "Zulu", עם רזולוציה של ננו-שניות ועד תשע ספרות חלקיות. דוגמאות: "2014-10-02T15:01:23Z" ו- "2014-10-02T15:01:23.045123456Z" .

גוף תגובה

התגובה עבור Firestore.PartitionQuery .

אם זה מצליח, גוף התגובה מכיל נתונים עם המבנה הבא:

ייצוג JSON
{
  "partitions": [
    {
      object (Cursor)
    }
  ],
  "nextPageToken": string
}
שדות
partitions[]

object ( Cursor )

תוצאות החלוקה. כל מחיצה היא נקודת פיצול שיכולה לשמש את documents.runQuery כנקודת התחלה או סיום לתוצאות השאילתה. בקשות documents.runQuery חייבות להיעשות עם אותה שאילתה שסופקה לבקשת documents.partitionQuery זו. סמני המחיצה יסדרו לפי אותו סדר כמו תוצאות השאילתה שסופקו ל-documents.partitionQuery.

לדוגמה, אם בקשת documents.partitionQuery מחזירה את סמני המחיצה A ו-B, הפעלת שלוש השאילתות הבאות תחזיר את כל ערכת התוצאות של השאילתה המקורית:

  • שאילתה, סוף ב-A
  • query, startAt A, EndAt B
  • שאילתה, התחל ב-B

תוצאה ריקה עשויה להצביע על כך שלשאילתה יש מעט מדי תוצאות מכדי לחלוקה, או שהשאילתה עדיין לא נתמכת בחלוקה למחיצות.

nextPageToken

string

אסימון עמוד שעשוי לשמש לבקשת קבוצה נוספת של תוצאות, עד למספר שצוין על ידי partitionCount בבקשת documents.partitionQuery. אם ריק, אין יותר תוצאות.

היקפי הרשאה

דורש אחד מהיקפי OAuth הבאים:

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

למידע נוסף, עיין בסקירת האימות .