लौटाने के लिए फ़ील्ड चुनें

ComputeRoutes() तरीके को कॉल करते समय, आपको यह बताना होगा कि आपको जवाब में कौनसे फ़ील्ड चाहिए. इसके लिए, रिस्पॉन्स फ़ील्ड मास्क का इस्तेमाल करें. इसे यूआरएल पैरामीटर $fields या fields के साथ उपलब्ध कराएं. इसके अलावा, HTTP/gRPC हेडर 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 देखें.