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

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

מסכת שדות

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

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

אנונימיזציה של שדות במקרה מיוחד היא תו כללי לחיפוש '*', שבוחר את כל השדות ברמת השורש.

דוגמאות

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

דוגמה 1

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

X-Goog-FieldMask: *

דוגמה 2

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

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

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

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

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

  • קבלת תגובה קטנה יותר, מה שמוביל לתפוקה גבוהה יותר ברשת.

ב-field_mask.proto מוסבר איך ליצור נתיבי שדות.