כשמפעילים את השיטה 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
אנחנו לא ממליצים להשתמש בתו הכללי לחיפוש (*) במסכת שדה התגובה, או לציין את מסכת השדה ברמה העליונה (routes) בסביבת הייצור. בחירה רק בשדות שאתם צריכים:
השרת שלנו יכול לחסוך מחזורי עיבוד, וכך אנחנו יכולים להחזיר את התוצאות עם זמן אחזור קצר יותר.
ההגדרה הזו מבטיחה ביצועים יציבים של זמן האחזור. יכול להיות שנוסיף עוד שדות לתגובה בעתיד, והשדות החדשים האלה עשויים לדרוש זמן חישוב נוסף. אם תבחרו את כל השדות, או אם תבחרו את כל השדות ברמה העליונה, יכול להיות שתחוו ירידה בביצועים כי כל שדה חדש שנוסיף ייכלל אוטומטית בתגובה שלכם.
התוצאה היא תגובה קטנה יותר, שמתורגמת לרוחב פס גדול יותר ברשת.
מידע נוסף על בניית נתיבי שדות זמין בקובץ field_mask.proto.