כשמפעילים את השיטה 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.