यह फ़ंक्शन, क्वेरी को अलग-अलग पार्टिशन कर्सर की मदद से बांटता है और दूसरी क्वेरी को साथ-साथ चलाने के लिए इस्तेमाल किया जा सकता है. दिखाए गए पार्टिशन कर्सर ऐसे स्प्लिट पॉइंट होते हैं जिनका इस्तेमाल, document.runQuery के लिए क्वेरी के नतीजों के शुरुआती/आखिरी पॉइंट के तौर पर इस्तेमाल किया जा सकता है.
एचटीटीपी अनुरोध
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
पाथ के पैरामीटर
पैरामीटर | |
---|---|
parent |
ज़रूरी है. पैरंट रिसॉर्स का नाम. फ़ॉर्मैट: |
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस तरह का डेटा शामिल होता है:
जेएसओएन के काेड में दिखाना |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
फ़ील्ड | |
---|---|
partitionCount |
विभाजन बिंदुओं की पसंदीदा अधिकतम संख्या. सेगमेंट, नतीजों के कई पेजों पर दिखाए जा सकते हैं. संख्या धनात्मक होनी चाहिए. हो सकता है कि लौटाए गए बंटवारे की असल संख्या कम हो. उदाहरण के लिए, इसे चलाई जाने वाली पैरलल क्वेरी की संख्या से एक कम पर सेट किया जा सकता है या डेटा पाइपलाइन काम चलाने के दौरान उपलब्ध वर्कर या कंप्यूट इंस्टेंस की संख्या से कम पर सेट किया जा सकता है. |
pageToken |
document.partitionQuery के पिछले कॉल से लौटाया गया उदाहरण के लिए, pageToken का इस्तेमाल करके बाद में किए जाने वाले दो कॉल वापस आ सकते हैं:
दस्तावेज़ों.partitionQuery को दी गई क्वेरी के नतीजों के संबंध में व्यवस्थित किया गया पूरा नतीजा सेट पाने के लिए, नतीजों के सेट मर्ज किए जाने चाहिए: कर्सर A, कर्सर B, कर्सर M, कर्सर Q, कर्सर U, कर्सर W |
pageSize |
इस कॉल में ज़्यादा से ज़्यादा उदाहरण के लिए, अगर |
यूनियन फ़ील्ड query_type . विभाजन के लिए क्वेरी. query_type इनमें से सिर्फ़ एक हो सकती है: |
|
structuredQuery |
स्ट्रक्चर्ड क्वेरी. क्वेरी में सभी डिसेंडेंट के साथ कलेक्शन तय होना चाहिए और नाम को बढ़ते क्रम में उनके क्रम में रखा जाना चाहिए. अन्य फ़िल्टर, क्रम, सीमा, ऑफ़सेट, और स्टार्ट/एंड कर्सर का इस्तेमाल नहीं किया जा सकता. |
यूनियन फ़ील्ड consistency_selector . इस अनुरोध के लिए कंसिस्टेंसी मोड. अगर यह नीति सेट नहीं है, तो डिफ़ॉल्ट रूप से अच्छी कंसिस्टेंसी होती है. consistency_selector इनमें से सिर्फ़ एक हो सकती है: |
|
readTime |
दस्तावेज़ों को उसी समय पढ़ता है जैसे वे दिए गए समय पर थे. यह पिछले एक घंटे के अंदर का माइक्रोसेकंड का सटीक टाइमस्टैंप होना चाहिए. इसके अलावा, अगर पॉइंट-इन-टाइम रिकवरी चालू है, तो यह पिछले सात दिनों में पूरे मिनट का टाइमस्टैंप भी हो सकता है. RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: |
जवाब का मुख्य भाग
Firestore.PartitionQuery
के लिए रिस्पॉन्स.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
जेएसओएन के काेड में दिखाना |
---|
{
"partitions": [
{
object ( |
फ़ील्ड | |
---|---|
partitions[] |
विभाजन के नतीजे. हर सेगमेंट एक स्प्लिट पॉइंट है, जिसका इस्तेमाल document.runQuery में क्वेरी के नतीजों के शुरुआती या आखिरी पॉइंट के तौर पर इस्तेमाल करने के लिए किया जा सकता है. document.runQuery के अनुरोध उसी क्वेरी के साथ किए जाने चाहिए जो इस document.partitionQuery अनुरोध में दी गई क्वेरी के साथ मिली है. दस्तावेज़ों में दी गई क्वेरी के नतीजों के क्रम के मुताबिक, क्वेरी के हिसाब से बांटे गए कर्सर को क्रम में लगाया जाएगा. उदाहरण के लिए, अगर document.partitionQuery अनुरोध में पार्टिशन कर्सर A और B लौटाया जाता है, तो नीचे दी गई तीन क्वेरी चलाने पर मूल क्वेरी का पूरा नतीजा दिखेगा:
एक खाली नतीजे का मतलब यह हो सकता है कि क्वेरी में बांटने के लिए बहुत कम नतीजे हैं या क्वेरी को सेगमेंट में बांटने के लिए फ़िलहाल काम नहीं किया जा सकता. |
nextPageToken |
पेज का टोकन, जिसका इस्तेमाल नतीजों के एक और सेट का अनुरोध करने के लिए किया जा सकता है. यह टोकन, document.partitionQuery अनुरोध में |
अनुमति के दायरे
इनमें से किसी एक OAuth दायरों की ज़रूरत होती है:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.