इस गाइड में, OptimizeToursLongRunning
और OptimizeToursUri
एपीआई के तरीकों को एक्सपेरिमेंट के तौर पर लॉन्च करने के बारे में बताया गया है. इनकी मदद से उपयोगकर्ता, एक बार में ऑप्टिमाइज़ेशन के एक से ज़्यादा अनुरोध कर सकते हैं. नॉन-ब्लॉकिंग ऑप्टिमाइज़ेशन में, उपयोगकर्ता को उस तरीके से तुरंत एक Operation proto मिलता है जिसका इस्तेमाल GetOperation
को कॉल करके, ऑप्टिमाइज़ेशन की स्थिति को रेफ़रंस करने के लिए किया जा सकता है.
ज़्यादा जानकारी के लिए, लंबे समय तक चलने वाली कार्रवाइयां देखें.
ये नॉन-ब्लॉकिंग तरीके, ब्लॉकिंग OptimizeTours
तरीके की तुलना में ज़्यादा भरोसेमंद होते हैं. ऐसा इसलिए, क्योंकि ऑप्टिमाइज़ेशन के दौरान क्लाइंट को सर्वर से कनेक्शन बनाए रखने की ज़रूरत नहीं होती. साथ ही, इन नए तरीकों से, BatchOptimizeTours
की तुलना में गड़बड़ियों को डीबग करना आसान हो जाता है. ऐसा इसलिए, क्योंकि हर ऑप्टिमाइज़ेशन, एक ही लंबे समय तक चलने वाले ऑपरेशन (एलआरओ) से जुड़ा होता है.
जिन उपयोगकर्ताओं को ऑप्टिमाइज़ेशन के अनुरोध को इनलाइन करना है वे OptimizeToursLongRunning
तरीके का इस्तेमाल कर सकते हैं. वहीं, जिन उपयोगकर्ताओं को Google Cloud Storage का इस्तेमाल करके अनुरोधों को अपलोड करना है और जवाब पढ़ना है वे OptimizeToursUri
तरीके का इस्तेमाल कर सकते हैं.
OptimizeToursLongRunning
उदाहरण: OptimizeToursLongRunning
का अनुरोध करना
अनुरोध करने से पहले, इन पैरामीटर को अपने एनवायरमेंट के हिसाब से सही वैल्यू से बदलें:
- पक्का करें कि आपने ऐप्लिकेशन के लिए डिफ़ॉल्ट क्रेडेंशियल कॉन्फ़िगर किए हों. इसके लिए, OAuth का इस्तेमाल करना लेख में दिया गया तरीका अपनाएं.
PROJECT_NUMBER_OR_ID को अपने Cloud प्रोजेक्ट नंबर या आईडी पर सेट करें.
नीचे दी गई कमांड, Route Optimization API को
OptimizeToursLongRunning
अनुरोध भेजती है. साथ ही, इससे जुड़ा ऑपरेशन आईडी मिलता है. ऑपरेशन के स्टेटस के बारे में क्वेरी करने के लिए,GetOperation
तरीके का इस्तेमाल किया जा सकता है. ऑपरेशन पूरा होने के बाद, मेटाडेटा में फ़ाइनलOptimizeToursResponse
भी शामिल होता है.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursLongRunning' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ], } } EOM
OptimizeToursUri
BatchOptimizeTours
की तरह, OptimizeToursUri
का इस्तेमाल करके, Google Cloud Storage पर ऑप्टिमाइज़ेशन के अनुरोध और जवाब को सेव किया जा सकता है.
Cloud Storage यूआरआई को OptimizeToursUri
अनुरोध मैसेज में शामिल करना ज़रूरी है.
Operation
के तौर पर दिखाया गया स्टेटस, सिर्फ़ सबमिट किए गए एक OptimizeToursRequest
से जुड़ा होता है.
उदाहरण: OptimizeToursUri
का अनुरोध करना
अनुरोध करने से पहले, इन पैरामीटर को अपने एनवायरमेंट के हिसाब से सही वैल्यू से बदलें:
- पक्का करें कि आपने ऐप्लिकेशन के लिए डिफ़ॉल्ट क्रेडेंशियल कॉन्फ़िगर किए हों. इसके लिए, OAuth का इस्तेमाल करना लेख में दिया गया तरीका अपनाएं.
PROJECT_NUMBER_OR_ID को अपने Cloud प्रोजेक्ट नंबर या आईडी पर सेट करें.
नीचे दी गई कमांड, Route Optimization API को
OptimizeToursUri
अनुरोध भेजती है. साथ ही, इससे जुड़ा ऑपरेशन आईडी मिलता है. कार्रवाई की स्थिति के बारे में क्वेरी करने के लिए,GetOperation
तरीके का इस्तेमाल करें. ऑपरेशन पूरा होने के बाद,OptimizeToursResponse
को अनुरोध में दिए गए आउटपुट यूआरआई पाथ पर रिमोटली सेव किया जाता है.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursUri' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "input": { "uri": "gs://bucket/path/input/object.json" }, "output": { "uri": "gs://bucket/path/output/object.json" } } EOM