Method: projects.databases.documents.partitionQuery

یک پرس و جو را با برگرداندن مکان نماهای پارتیشن که می توانند برای اجرای پرس و جو به صورت موازی استفاده شوند، پارتیشن بندی می کند. نشانگرهای پارتیشن برگشتی نقاط تقسیم شده ای هستند که می توانند توسط document.runQuery به عنوان نقطه شروع/پایان نتایج پرس و جو استفاده شوند.

درخواست HTTP

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

URL از دستور 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 از فراخوانی قبلی به document.partitionQuery برگردانده شد که ممکن است برای دریافت مجموعه‌ای از نتایج استفاده شود. هیچ تضمینی برای سفارش بین مجموعه نتایج وجود ندارد. بنابراین، استفاده از چندین مجموعه از نتایج مستلزم ادغام مجموعه های مختلف نتایج است.

برای مثال، دو تماس بعدی با استفاده از PageToken ممکن است برگردد:

  • مکان نما B، مکان نما M، مکان نما Q
  • مکان نما A، مکان نما U، مکان نما W

برای به دست آوردن یک مجموعه نتایج کامل مرتب شده با توجه به نتایج جستجوی ارائه شده به document.partitionQuery، مجموعه نتایج باید ادغام شوند: مکان نما A، مکان نما B، مکان نما M، مکان نما Q، مکان نما U، مکان نما W.

pageSize

integer

حداکثر تعداد پارتیشن‌هایی که باید در این تماس برگردند، مشروط به partitionCount .

برای مثال، اگر partitionCount = 10 و pageSize = 8، اولین فراخوانی به document.partitionQuery تا 8 پارتیشن و در صورت وجود نتایج بیشتر، یک nextPageToken برمی‌گرداند. یک فراخوان دوم به document.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 )

نتایج پارتیشن هر پارتیشن یک نقطه تقسیم است که می تواند توسط document.runQuery به عنوان نقطه شروع یا پایان برای نتایج پرس و جو استفاده شود. درخواست های document.runQuery باید با همان درخواست ارائه شده به این درخواست document.partitionQuery انجام شود. مکان نماهای پارتیشن بر اساس همان ترتیبی که نتایج پرس و جو ارائه شده به document.partitionQuery ترتیب داده می شود.

به عنوان مثال، اگر یک درخواست document.partitionQuery نشانگرهای پارتیشن A و B را برمی گرداند، اجرای سه پرس و جو زیر کل مجموعه نتایج پرس و جو اصلی را برمی گرداند:

  • query، endAtA
  • پرس و جو، startAt A، endAt B
  • پرس و جو، شروع در B

یک نتیجه خالی ممکن است نشان دهد که پرس و جو نتایج بسیار کمی برای پارتیشن بندی دارد، یا اینکه پرس و جو هنوز برای پارتیشن بندی پشتیبانی نمی شود.

nextPageToken

string

نشانه صفحه ای که ممکن است برای درخواست یک مجموعه اضافی از نتایج، حداکثر تا تعداد مشخص شده توسط partitionCount در درخواست document.partitionQuery استفاده شود. اگر خالی باشد، نتیجه دیگری وجود ندارد.

محدوده مجوز

به یکی از حوزه های OAuth زیر نیاز دارد:

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

برای اطلاعات بیشتر، به نمای کلی احراز هویت مراجعه کنید.