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

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

ماسک میدانی

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

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

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

مثال ها

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

مثال 1

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

X-Goog-FieldMask: *

مثال 2

ماسک میدانی از مدت زمان، فاصله و چند خط در سطح مسیر (نمونه ای از راه اندازی تولید).

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

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

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

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

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

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