لتقسيم استعلام عن طريق عرض مؤشرات الأقسام التي يمكن استخدامها لتشغيل الاستعلام بشكل متوازٍ. مؤشرات التقسيم المعروضة هي نقاط تقسيم يمكن استخدامها بواسطة Docs.runQuery كنقاط بداية/نهاية لنتائج الاستعلام.
طلب HTTP
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات المسار
المَعلمات | |
---|---|
parent |
مطلوب. اسم المورد الرئيسي. بالتنسيق: |
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
الحقول | |
---|---|
partitionCount |
تمثّل هذه السمة الحد الأقصى المطلوب لعدد نقاط التقسيم. وقد يتم عرض الأقسام على مستوى صفحات نتائج متعددة. يجب أن يكون الرقم موجبًا. قد يكون العدد الفعلي للأقسام التي تم عرضها أقل. على سبيل المثال، قد يتم ضبط ذلك على عدد أقل بمقدار واحد من عدد طلبات البحث المتوازية المراد تشغيلها، أو عند تشغيل مهمة مسار بيانات، أقل من عدد العاملين أو مثيلات الحوسبة المتاحة. |
pageToken |
القيمة على سبيل المثال، قد يتم عرض طلبَين تاليَين يستخدمان pageToken:
للحصول على مجموعة نتائج كاملة مرتبة حسب نتائج طلب البحث المقدم إلى document.partitionQuery، يجب دمج مجموعات النتائج: المؤشر A، المؤشر B، المؤشر M، المؤشر Q، المؤشر U، المؤشر W |
pageSize |
الحد الأقصى لعدد الأقسام المطلوب عرضها في هذه المكالمة، ويخضع لـ على سبيل المثال، إذا كان |
حقل الاتحاد query_type . الاستعلام المطلوب تقسيمه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structuredQuery |
طلب بحث منظم. يجب أن يحدد طلب البحث مجموعة تضم كل العناصر التابعة وأن يتم ترتيبها حسب الاسم تصاعديًا. لا تتوفّر الفلاتر الأخرى، والترتيب حسب، والحدود، والإزاحة، ومؤشرات البدء/النهاية. |
حقل الاتحاد consistency_selector . وضع الاتساق لهذا الطلب. وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
readTime |
يقرأ المستندات كما كانت في الوقت المحدّد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
نص الاستجابة
تمثّل هذه السمة الردّ على Firestore.PartitionQuery
.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{
"partitions": [
{
object ( |
الحقول | |
---|---|
partitions[] |
نتائج التقسيم يُعد كل قسم نقطة تقسيم يمكن استخدامها بواسطة المستندات.runQuery كنقطة بداية أو نهاية لنتائج الاستعلام. يجب إجراء طلبات المستندات.runQuery باستخدام طلب البحث نفسه المتوفّر في طلب document.partitionQuery هذا. سيتم ترتيب مؤشرات الأقسام وفقًا للترتيب نفسه الخاص بنتائج طلب البحث المقدَّم في document.partitionQuery. على سبيل المثال، إذا عرض طلب المستندات.partitionQuery مؤشري القسمين A وB، فسيؤدي تشغيل الاستعلامات الثلاثة التالية إلى عرض مجموعة النتائج الكاملة للاستعلام الأصلي:
قد تشير النتيجة الفارغة إلى أنّ عدد النتائج قليل جدًا ولا يمكن تقسيمها في طلب البحث، أو أنّ عملية التقسيم غير متاحة بعد. |
nextPageToken |
يشير هذا المصطلح إلى رمز مميّز للصفحة يمكن استخدامه لطلب مجموعة إضافية من النتائج، وفقًا للعدد المحدّد من قِبل |
نطاقات الأذونات
يتطلب هذا الإعداد أحد نطاقات OAuth التالية:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة حول المصادقة.