یک پرس و جو را با برگرداندن مکان نماهای پارتیشن که می توانند برای اجرای پرس و جو به صورت موازی استفاده شوند، پارتیشن بندی می کند. نشانگرهای پارتیشن برگشتی نقاط تقسیم شده ای هستند که می توانند توسط document.runQuery به عنوان نقطه شروع/پایان نتایج پرس و جو استفاده شوند.
درخواست HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
URL از دستور GRPC Transcoding استفاده می کند.
پارامترهای مسیر
مولفه های | |
---|---|
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 "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثالها: |
بدن پاسخگو
پاسخ برای Firestore.PartitionQuery
.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{
"partitions": [
{
object ( |
زمینه های | |
---|---|
partitions[] | نتایج پارتیشن هر پارتیشن یک نقطه تقسیم است که می تواند توسط document.runQuery به عنوان نقطه شروع یا پایان برای نتایج پرس و جو استفاده شود. درخواست های document.runQuery باید با همان درخواست ارائه شده به این درخواست document.partitionQuery انجام شود. مکان نماهای پارتیشن بر اساس همان ترتیبی که نتایج پرس و جو ارائه شده به document.partitionQuery ترتیب داده می شود. به عنوان مثال، اگر یک درخواست document.partitionQuery نشانگرهای پارتیشن A و B را برمی گرداند، اجرای سه پرس و جو زیر کل مجموعه نتایج پرس و جو اصلی را برمی گرداند:
یک نتیجه خالی ممکن است نشان دهد که پرس و جو نتایج بسیار کمی برای پارتیشن بندی دارد، یا اینکه پرس و جو هنوز برای پارتیشن بندی پشتیبانی نمی شود. |
nextPageToken | نشانه صفحه ای که ممکن است برای درخواست یک مجموعه اضافی از نتایج، حداکثر تا تعداد مشخص شده توسط |
محدوده مجوز
به یکی از حوزه های OAuth زیر نیاز دارد:
-
https://www.googleapis.com/auth/datastore
-
https://www.googleapis.com/auth/cloud-platform
برای اطلاعات بیشتر، به نمای کلی احراز هویت مراجعه کنید.