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

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 देखें.