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