इस गाइड में, OptimizeToursLongRunning और OptimizeToursUri एपीआई के तरीकों को एक्सपेरिमेंट के तौर पर लॉन्च करने के बारे में बताया गया है. इनकी मदद से, उपयोगकर्ता एक बार में कई अनुरोध कर सकते हैं. बिना ब्लॉक करने वाले ऑप्टिमाइज़ेशन में, उपयोगकर्ता को तुरंत ऑपरेशन प्रोटो मिलता है. इसका इस्तेमाल, 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 में ऑप्टिमाइज़ेशन अनुरोध और उसके जवाब को सेव किया जा सकता है.
OptimizeToursUri अनुरोध मैसेज में, Cloud Storage यूआरआई की जानकारी देना ज़रूरी है.
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