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

כשמפעילים את ה-method‏ ComputeRoutes(), צריך לציין אילו שדות רוצים לקבל בתשובה. כדי לעשות את זה, משתמשים במסכת שדות תגובה, שמספקים עם הפרמטר של כתובת ה-URL‏ $fields או fields, או באמצעות הכותרת X-Goog-FieldMask של HTTP/gRPC. מידע נוסף זמין במאמר פרמטרים של המערכת.

מסכת שדה

הערך של מסכת השדות הוא רשימה מופרדת בפסיקים של נתיבי שדות. כל נתיב שדה הוא רשימה של שמות שדות שמופרדים בנקודות, שמייצגים את היררכיית ההודעות. שם השדה הוא המפתח של אובייקט ה-JSON או שם תג השדה של protobuf. נתיב השדה מתחיל מסוג הודעת התגובה ברמה העליונה, ואחריו יכולות להופיע נקודה אחת או יותר, ואז הרמה הבאה של שם השדה. באופן כללי, נתיבי השדות בנויים כך:

topLevelField[.secondLevelField][.thirdLevelField][...]

מסכת שדה מיוחדת היא תו כללי לחיפוש "*", שבוחרת את כל השדות ברמת הבסיס.

דוגמאות

בדוגמה הבאה מוסבר איך להגדיר מסכות שדות ל-method‏ ComputeRoutes().

דוגמה 1

מסכת שדות של כל השדות הזמינים (לבדיקה ידנית).

X-Goog-FieldMask: *

דוגמה 2

מסכת שדות של משך זמן, מרחק וקו פוליגוני ברמת המסלול (דוגמה להגדרה בסביבת ייצור).

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline

אנחנו לא ממליצים להשתמש במסכת שדה התגובה של התו הכללי לחיפוש (*), או לציין את מסכת השדה ברמה העליונה (מסלולים) בסביבת הייצור. בחירה רק בשדות שאתם צריכים:

  • השרת שלנו יכול לחסוך מחזורי עיבוד, וכך אנחנו יכולים להחזיר את התוצאות עם זמן אחזור קצר יותר.

  • מבטיח ביצועים יציבים של זמן אחזור. יכול להיות שנוסיף עוד שדות תגובה בעתיד, והשדות החדשים האלה עשויים לדרוש זמן חישוב נוסף. אם תבחרו את כל השדות, או את כל השדות ברמה העליונה, יכול להיות שתחוו ירידה בביצועים כי כל שדה חדש שנוסיף ייכלל באופן אוטומטי בתגובה.

  • התוצאה היא תגובה קטנה יותר, שמתורגמת לרוחב פס גדול יותר ברשת.

מידע נוסף על בניית נתיבי שדות זמין בקובץ field_mask.proto.