Method: projects.databases.documents.partitionQuery

विभाजन कर्सर लौटाकर क्वेरी को विभाजित करता है जिसका उपयोग क्वेरी को समानांतर में चलाने के लिए किया जा सकता है। लौटाए गए विभाजन कर्सर विभाजित बिंदु हैं जिनका उपयोग दस्तावेज़ों द्वारा क्वेरी परिणामों के लिए प्रारंभिक/अंत बिंदु के रूप में किया जा सकता है।

HTTP अनुरोध

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

यूआरएल जीआरपीसी ट्रांसकोडिंग सिंटैक्स का उपयोग करता है।

पथ पैरामीटर

पैरामीटर
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 मान पिछले कॉल से document.partitionQuery पर लौटाया गया है जिसका उपयोग परिणामों का एक अतिरिक्त सेट प्राप्त करने के लिए किया जा सकता है। परिणामों के सेट के बीच ऑर्डर देने की कोई गारंटी नहीं है। इस प्रकार, परिणामों के एकाधिक सेटों का उपयोग करने के लिए विभिन्न परिणाम सेटों को मर्ज करने की आवश्यकता होगी।

उदाहरण के लिए, पेजटोकन का उपयोग करने वाली दो बाद की कॉलें वापस आ सकती हैं:

  • कर्सर बी, कर्सर एम, कर्सर क्यू
  • कर्सर ए, कर्सर यू, कर्सर डब्ल्यू

Documents.partitionQuery को प्रदान की गई क्वेरी के परिणामों के संबंध में आदेशित पूर्ण परिणाम सेट प्राप्त करने के लिए, परिणाम सेट को मर्ज किया जाना चाहिए: कर्सर ए, कर्सर बी, कर्सर एम, कर्सर क्यू, कर्सर यू, कर्सर डब्ल्यू

pageSize

integer

इस कॉल में लौटाए जाने वाले विभाजनों की अधिकतम संख्या, partitionCount के अधीन है।

उदाहरण के लिए, यदि partitionCount = 10 और pageSize = 8, तो document.partitionQuery पर पहली कॉल अधिकतम 8 विभाजन और अधिक परिणाम मौजूद होने पर nextPageToken लौटाएगी। partitionCount में निर्दिष्ट कुल 10 को पूरा करने के लिए, डॉक्युमेंट्स.पार्टिशनक्वेरी पर दूसरी कॉल 2 पार्टिशन तक वापस आएगी।

यूनियन फ़ील्ड query_type . विभाजन के लिए प्रश्न. query_type निम्नलिखित में से केवल एक ही हो सकता है:
structuredQuery

object ( StructuredQuery )

एक संरचित क्वेरी. क्वेरी को सभी वंशजों के साथ संग्रह निर्दिष्ट करना होगा और नाम को आरोही क्रम में क्रमबद्ध करना होगा। अन्य फ़िल्टर, ऑर्डर बाय, सीमाएं, ऑफसेट और स्टार्ट/एंड कर्सर समर्थित नहीं हैं।

यूनियन फ़ील्ड consistency_selector । इस अनुरोध के लिए संगति मोड. यदि सेट नहीं किया गया है, तो डिफॉल्ट मजबूत स्थिरता पर निर्भर करता है। consistency_selector निम्नलिखित में से केवल एक हो सकता है:
readTime

string ( Timestamp format)

दस्तावेज़ों को वैसे ही पढ़ता है जैसे वे दिए गए समय पर थे।

यह पिछले एक घंटे के भीतर एक माइक्रोसेकंड सटीक टाइमस्टैम्प होना चाहिए, या यदि पॉइंट-इन-टाइम रिकवरी सक्षम है, तो यह पिछले 7 दिनों के भीतर एक पूरे मिनट का टाइमस्टैम्प भी हो सकता है।

RFC3339 UTC "ज़ुलु" प्रारूप में एक टाइमस्टैम्प, नैनोसेकंड रिज़ॉल्यूशन और नौ भिन्नात्मक अंकों तक। उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z"

प्रतिक्रिया निकाय

Firestore.PartitionQuery के लिए प्रतिक्रिया।

सफल होने पर, प्रतिक्रिया निकाय में निम्नलिखित संरचना वाला डेटा शामिल होता है:

JSON प्रतिनिधित्व
{
  "partitions": [
    {
      object (Cursor)
    }
  ],
  "nextPageToken": string
}
खेत
partitions[]

object ( Cursor )

विभाजन के परिणाम. प्रत्येक विभाजन एक विभाजन बिंदु है जिसका उपयोग दस्तावेज़ों.runQuery द्वारा क्वेरी परिणामों के लिए प्रारंभिक या अंतिम बिंदु के रूप में किया जा सकता है। डॉक्युमेंट्स.रनक्वेरी अनुरोध इस डॉक्युमेंट्स.पार्टीशनक्वेरी अनुरोध में दी गई उसी क्वेरी के साथ किए जाने चाहिए। विभाजन कर्सर को document.partitionQuery को प्रदान की गई क्वेरी के परिणामों के समान क्रम के अनुसार क्रमबद्ध किया जाएगा।

उदाहरण के लिए, यदि कोई document.partitionQuery अनुरोध विभाजन कर्सर A और B लौटाता है, तो निम्नलिखित तीन क्वेरी चलाने से मूल क्वेरी का संपूर्ण परिणाम सेट वापस आ जाएगा:

  • क्वेरी, अंतए पर
  • क्वेरी, स्टार्टएट ए, एंडएट बी
  • क्वेरी, स्टार्टएट बी

एक खाली परिणाम यह संकेत दे सकता है कि क्वेरी में विभाजन के लिए बहुत कम परिणाम हैं, या क्वेरी विभाजन के लिए अभी तक समर्थित नहीं है।

nextPageToken

string

एक पृष्ठ टोकन जिसका उपयोग दस्तावेज़ों में partitionCount द्वारा निर्दिष्ट संख्या तक परिणामों के अतिरिक्त सेट का अनुरोध करने के लिए किया जा सकता है।partitionQuery अनुरोध। यदि रिक्त है, तो कोई और परिणाम नहीं हैं।

प्राधिकरण के दायरे

निम्नलिखित OAuth स्कोप में से एक की आवश्यकता है:

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

अधिक जानकारी के लिए, प्रमाणीकरण अवलोकन देखें।