ComputeRoutes() तरीके को कॉल करते समय, आपको यह बताना होगा कि जवाब में कौनसे फ़ील्ड दिखाने हैं. इसके लिए, रिस्पॉन्स फ़ील्ड मास्क का इस्तेमाल करें. इसे यूआरएल पैरामीटर $fields या fields के साथ दें. इसके अलावा, एचटीटीपी/जीआरपीसी हेडर X-Goog-FieldMask का इस्तेमाल करें. ज़्यादा जानकारी के लिए, सिस्टम पैरामीटर देखें.
फ़ील्ड मास्क
फ़ील्ड मास्क की वैल्यू, फ़ील्ड पाथ की कॉमा-सेपरेटेड लिस्ट होती है. हर फ़ील्ड पाथ, फ़ील्ड के नामों की डॉट-सेपरेटेड लिस्ट होती है. यह लिस्ट, मैसेज के क्रम को दिखाती है. फ़ील्ड का नाम, JSON ऑब्जेक्ट की कुंजी या प्रोटॉबफ़ फ़ील्ड टैग का नाम होता है. फ़ील्ड पाथ, टॉप-लेवल के रिस्पॉन्स मैसेज टाइप से शुरू होता है. इसके बाद, ज़रूरत के हिसाब से एक या उससे ज़्यादा डॉट और फिर अगले लेवल के फ़ील्ड का नाम आता है. आम तौर पर, फ़ील्ड पाथ इस तरह बनाए जाते हैं:
topLevelField[.secondLevelField][.thirdLevelField][...]
वाइल्डकार्ड “*” एक खास तरह का फ़ील्ड मास्क है. इससे रूट-लेवल के सभी फ़ील्ड चुने जाते हैं.
उदाहरण
यहां दिए गए उदाहरण में, ComputeRoutes() तरीके के लिए फ़ील्ड मास्क सेट करने का तरीका बताया गया है.
उदाहरण 1
सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क (मैन्युअल तरीके से जांच करने के लिए).
X-Goog-FieldMask: *
उदाहरण 2
रूट-लेवल की अवधि, दूरी, और पॉलीलाइन का फ़ील्ड मास्क (प्रोडक्शन सेटअप का एक उदाहरण).
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline
हमारा सुझाव है कि प्रोडक्शन में, वाइल्डकार्ड (*) रिस्पॉन्स फ़ील्ड मास्क का इस्तेमाल न करें. साथ ही, टॉप-लेवल (रूट) पर फ़ील्ड मास्क तय न करें. सिर्फ़ वे फ़ील्ड चुनें जिनकी आपको ज़रूरत है:
इससे हमारे सर्वर को प्रोसेसिंग साइकल सेव करने में मदद मिलती है. इसलिए, हम आपको कम समय में नतीजे दिखा पाते हैं.
इससे, कम समय में नतीजे दिखाने की परफ़ॉर्मेंस स्थिर रहती है. हम आने वाले समय में, रिस्पॉन्स के ज़्यादा फ़ील्ड जोड़ सकते हैं. इन नए फ़ील्ड के लिए, ज़्यादा समय लग सकता है. अगर आपने सभी फ़ील्ड चुने हैं या टॉप-लेवल पर सभी फ़ील्ड चुने हैं, तो परफ़ॉर्मेंस में गिरावट आ सकती है. ऐसा इसलिए, क्योंकि हमारे जोड़े गए नए फ़ील्ड, आपके रिस्पॉन्स में अपने-आप शामिल हो जाएंगे.
इससे रिस्पॉन्स का साइज़ कम हो जाता है. इसका मतलब है कि नेटवर्क थ्रूपुट बढ़ जाता है.
फ़ील्ड पाथ बनाने के तरीके के बारे में ज़्यादा जानने के लिए, field_mask.proto देखें.