انتخاب فیلدها برای برگرداندن

وقتی روش ComputeRoutes() را فراخوانی می‌کنید، باید مشخص کنید که می‌خواهید کدام فیلدها در پاسخ برگردانده شوند. این کار را بااستفاده از ماسک فیلد پاسخ انجام می‌دهید که با پارامتر نشانی وب $fields یا fields ارائه می‌دهید، یا بااستفاده از سرصفحه HTTP/gRPC X-Goog-FieldMask. برای اطلاعات بیشتر، به پارامترهای سیستم مراجعه کنید.

ماسک فیلد

مقدار ماسک فیلد فهرستی از مسیرهای فیلد است که با کاما از هم جدا شده‌اند. هر مسیر فیلد فهرستی از نام‌های فیلد است که با نقطه از هم جدا شده‌اند و سلسله‌مراتب پیام را نشان می‌دهند. نام فیلد یا کلید شیء JSON است یا نام برچسب فیلد protobuf. مسیر فیلد از نوع پیام پاسخ سطح بالا شروع می‌شود و به‌طور اختیاری با یک یا چند نقطه و سپس سطح بعدی نام فیلد دنبال می‌شود. به‌طور کلی، مسیرهای فیلد به روش زیر ساخته می‌شوند:

topLevelField[.secondLevelField][.thirdLevelField][...]

یک ماسک فیلد مورد خاص، یک نویسه عام «*» است که همه فیلدهای سطح ریشه را انتخاب می‌کند.

مثال‌ها

مثال زیر نحوه تنظیم ماسک‌های فیلد را برای روش ComputeRoutes() نشان می‌دهد.

مثال ۱

پوشش فیلد همه فیلدهای دردسترس (برای بازرسی دستی).

X-Goog-FieldMask: *

مثال ۲

پوشش فیلد مدت، فاصله، و چندخطی سطح «مسیر» (نمونه‌ای از راه‌اندازی تولید).

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline

استفاده از پوشش فیلد پاسخ عام (*) یا مشخص کردن پوشش فیلد در سطح بالا (مسیرها) در تولید را توصیه نمی‌کنیم. انتخاب فقط فیلدهایی که نیاز دارید:

  • به سرور ما اجازه می‌دهد چرخه‌های پردازش را ذخیره کند، که به ما امکان می‌دهد نتایج شما را با تأخیر کمتری برگردانیم.

  • عملکرد تأخیر پایدار را تضمین می‌کند. ممکن است در آینده فیلدهای پاسخ بیشتری اضافه کنیم و این فیلدهای جدید ممکن است به زمان محاسباتی بیشتری نیاز داشته باشند. اگر همه فیلدها را انتخاب کنید، یا اگر همه فیلدها را در سطح بالا انتخاب کنید، ممکن است با افت عملکرد مواجه شوید زیرا هر فیلد جدیدی که اضافه کنیم به‌طور خودکار در پاسخ شما گنجانده خواهد شد.

  • منجر به اندازه پاسخ کوچک‌تر می‌شود که به معنی توان عملیاتی بالاتر شبکه است.

برای اطلاعات بیشتر درباره نحوه ساختن مسیرهای فیلد، به field_mask.proto مراجعه کنید.