בחירת שדות להחזרה

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