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

وقتی روش 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 مراجعه کنید.