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

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