כשקוראים ל-method 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.