कोई एंडपॉइंट चुनें

Route Optimization API में ये एंडपॉइंट होते हैं:

  • OptimizeTours: यह एक ऐसा एंडपॉइंट है जो एक बार में सिर्फ़ एक अनुरोध को ब्लॉक करता है.
  • OptimizeToursLongRunning: यह एक नॉन-ब्लॉकिंग एंडपॉइंट है. इसका इस्तेमाल, ऐसे सिंगल अनुरोधों के लिए किया जाता है जिन्हें पूरा होने में ज़्यादा समय लगता है.
  • OptimizeToursUri: यह एक नॉन-ब्लॉकिंग एंडपॉइंट है. इसका इस्तेमाल, एक साथ कई अनुरोधों के लिए किया जाता है.
  • BatchOptimizeTours: यह एक नॉन-ब्लॉकिंग एंडपॉइंट है. इससे एक साथ कई अनुरोधों को प्रोसेस किया जा सकता है.

आपके इस्तेमाल के उदाहरण, अनुरोध के साइज़, समस्या हल होने में लगने वाले अनुमानित समय, और एक साथ कई अनुरोधों को प्रोसेस करने की ज़रूरत के आधार पर, आपको एंडपॉइंट चुनना चाहिए.

एंडपॉइंट की तुलना करना

अपनी ज़रूरतों के हिसाब से सही एंडपॉइंट की पहचान करने के लिए, यहां दी गई टेबल का इस्तेमाल करें:

एंडपॉइंट OptimizeTours OptimizeToursLongRunning OptimizeToursUri BatchOptimizeTours
एक्ज़ीक्यूशन का टाइप ब्लॉकिंग नॉन-ब्लॉकिंग नॉन-ब्लॉकिंग नॉन-ब्लॉकिंग
प्रोसेस किए गए अनुरोध अविवाहित अविवाहित अविवाहित कई शामिल हैं
अनुरोध का ज़्यादा से ज़्यादा साइज़ छोटा मध्यम बड़ा बड़ा
हल करने में लगने वाला समय छोटा लंबा लंबा लंबा
इसके लिए Google Cloud Storage की ज़रूरत होती है नहीं नहीं हां हां

एंडपॉइंट की विशेषताओं के बारे में जानकारी

ऊपर दी गई टेबल में, सही एंडपॉइंट चुनने में आपकी मदद करने के लिए, ये विशेषताएं दी गई हैं:

  • एक्ज़ीक्यूशन टाइप: इससे यह तय होता है कि जवाब मिलने तक, आपका ऐप्लिकेशन नेटवर्क कनेक्शन को कैसे मैनेज करता है. ये दो तरह के होते हैं:
    • ब्लॉकिंग एंडपॉइंट: एपीआई से जवाब मिलने तक कनेक्शन खुला रखें.
    • नॉन-ब्लॉकिंग एंडपॉइंट: बैकग्राउंड में अनुरोधों को प्रोसेस करते हैं. एपीआई, तुरंत ज़्यादा समय तक चलने वाली कार्रवाई (एलआरओ) का आईडी दिखाता है. बाद में, नतीजे पाने के लिए आपको इस आईडी को पोल करना होता है.
  • प्रोसेस किए गए अनुरोध: इससे यह तय होता है कि एंडपॉइंट, राउटिंग के एक अनुरोध को हैंडल करता है या एक साथ कई अनुरोधों को प्रोसेस करता है.
  • अनुरोध का ज़्यादा से ज़्यादा साइज़: छोटे और सामान्य अनुरोध सीधे तौर पर इनलाइन भेजे जाते हैं. साथ ही, इन पर सर्वर-साइड की सीमाएं लागू होती हैं. ज़्यादा डेटा वाले अनुरोधों के लिए, Google Cloud Storage का इस्तेमाल करके इन सीमाओं को अनदेखा किया जा सकता है. एंडपॉइंट की जानकारी वाले सेक्शन में, अनुरोध के साइज़ की सीमाएं देखें.
  • समस्या हल होने में लगने वाला समय: सामान्य अनुरोधों को कम समय में हल किया जा सकता है. वहीं, मुश्किल अनुरोधों को हल करने में ज़्यादा समय लगता है. कनेक्शन को कितनी देर तक खुला रखना है, यह समस्या हल होने में लगने वाले समय पर निर्भर करता है. इसलिए, एंडपॉइंट का चुनाव टाइमआउट की सीमाओं पर निर्भर करता है. ज़्यादा जानकारी के लिए, टाइमआउट और समयसीमाएं कॉन्फ़िगर करना लेख पढ़ें.
  • Google Cloud Storage ज़रूरी है: ऐसे एंडपॉइंट जो बड़े अनुरोधों और जवाबों को प्रोसेस करते हैं. साथ ही, Google Cloud Storage में डेटा को सीधे तौर पर पढ़ते और लिखते हैं. एचटीटीपी अनुरोध में डेटा भेजने के बजाय, अपने अनुरोध को Cloud Storage बकेट में अपलोड करें और एपीआई को यूआरआई पास करें.

एंडपॉइंट की जानकारी

Route Optimization API में चार एंडपॉइंट होते हैं. यहां दिए गए सेक्शन में, हर एंडपॉइंट के काम करने के तरीके के बारे में बताया गया है. साथ ही, अनुरोध का एक उदाहरण भी दिया गया है.

OptimizeTours

OptimizeTours एक ब्लॉकिंग एंडपॉइंट है. इसका इस्तेमाल, ऐसे अनुरोधों के लिए किया जाता है जिन्हें कम समय में पूरा किया जा सकता है. यह सीधे तौर पर जवाब में, ऑप्‍टिमाइज़ किया गया रास्ता दिखाता है. यह एक ब्लॉकिंग एंडपॉइंट है. इसलिए, आपको अपना नेटवर्क कनेक्शन खुला रखना होगा. ऐसा तब तक करें, जब तक एपीआई अनुरोध को प्रोसेस न कर ले, ताकि वह जवाब दे सके. यह एंडपॉइंट, करीब 4 एमबी तक के इनलाइन अनुरोध स्वीकार करता है.

OptimizeTours अनुरोध का उदाहरण देखें

{
  "model": {
    "shipments":[
      {
        "pickups":[
          {
            "arrivalLocation": {
              "latitude": 37.425062,
              "longitude": -122.095355
            }
          }
        ],
        "deliveries":[
          {
            "arrivalLocation": {
              "latitude": 37.424215,
              "longitude": -122.095260
            }
          }
        ]
      }
    ],
    "vehicles":[
      {
        "travelMode": "DRIVING",
        "costPerKilometer": 1.0
      }
    ]
  }
}
    

OptimizeToursLongRunning

OptimizeToursLongRunning एक नॉन-ब्लॉकिंग एंडपॉइंट है. इसका इस्तेमाल, ऐसे अनुरोधों के लिए किया जाता है जिन्हें पूरा होने में ज़्यादा समय लगता है. यह ज़्यादा समय तक चलने वाली कार्रवाई (एलआरओ) का आईडी दिखाता है. अनुरोध की स्थिति देखने और ऑप्टिमाइज़ किए गए फ़ाइनल रूट पाने के लिए, GetOperation एंडपॉइंट का इस्तेमाल करके इस आईडी को पोल किया जा सकता है. यह एंडपॉइंट, ज़्यादा से ज़्यादा 8 एमबी के इनलाइन अनुरोध स्वीकार करता है.

OptimizeToursLongRunning अनुरोध का उदाहरण देखें

{
  "model": {
    "shipments":[
      {
        "pickups":[
          {
            "arrivalLocation": {
              "latitude": 37.425062,
              "longitude": -122.095355
            }
          }
        ]
      }
    ],
    "vehicles":[
      {
        "travelMode": "DRIVING",
        "costPerKilometer": 1.0
      }
    ]
  }
}
    

OptimizeToursUri

OptimizeToursUri एक नॉन-ब्लॉकिंग एंडपॉइंट है. इसका इस्तेमाल ऐसे सिंगल अनुरोधों के लिए किया जाता है जिन्हें पूरा होने में ज़्यादा समय लगता है और जिनमें ज़्यादा डेटा (8 एमबी से ज़्यादा) की ज़रूरत होती है. यह ज़्यादा समय तक चलने वाली कार्रवाई (एलआरओ) का आईडी दिखाता है. अनुरोध का स्टेटस देखने के लिए, इस आईडी को GetOperation एंडपॉइंट का इस्तेमाल करके पोल किया जा सकता है.

अपने पेलोड को इनलाइन भेजने के बजाय, OptimizeToursRequest को Google Cloud Storage पर अपलोड करें. इसके बाद, एपीआई को अपने इनपुट अनुरोध और आउटपुट डेस्टिनेशन, दोनों के लिए Cloud Storage यूआरआई पास करें. सर्वर, आपके इनपुट यूआरआई से डेटा पढ़ता है और फ़ाइनल OptimizeToursResponse को सीधे आपके आउटपुट यूआरआई में लिखता है. ऑपरेशन पूरा होने के बाद, इस आउटपुट यूआरआई से ऑप्टिमाइज़ किए गए रूट पढ़े जा सकते हैं.

OptimizeToursUri अनुरोध का उदाहरण देखें

{
  "input": {
    "uri": "gs://your-bucket/path/input/object.json"
  },
  "output": {
    "uri": "gs://your-bucket/path/output/object.json"
  }
}
    

BatchOptimizeTours

BatchOptimizeTours एक नॉन-ब्लॉकिंग एंडपॉइंट है. इसका इस्तेमाल एक साथ प्रोसेस किए जाने वाले, अलग-अलग ऑप्टिमाइज़ेशन अनुरोधों के लिए किया जाता है. यह ज़्यादा समय तक चलने वाली कार्रवाई (एलआरओ) का आईडी दिखाता है. अनुरोध की स्थिति देखने और ऑप्टिमाइज़ किए गए फ़ाइनल रूट पाने के लिए, GetOperation एंडपॉइंट का इस्तेमाल करके इस आईडी को पोल किया जा सकता है.

अपने पेलोड को इनलाइन भेजने के बजाय, Google Cloud Storage पर कई OptimizeToursRequest अपलोड करें. इसके बाद, Cloud Storage के यूआरआई को एपीआई पर पास करें. सर्वर, आपके इनपुट यूआरआई से डेटा पढ़ता है और हर अनुरोध के लिए, सीधे आपके आउटपुट यूआरआई में OptimizeToursResponse लिखता है.

BatchOptimizeTours अनुरोध का उदाहरण देखें

{
  "modelConfigs": [
    {
      "inputConfig": {
        "gcsSource": {
          "uri": "gs://your-bucket/path/input/request_1.json"
        },
        "dataFormat": "JSON"
      },
      "outputConfig": {
        "gcsDestination": {
          "uri": "gs://your-bucket/path/output/response_1.json"
        },
        "dataFormat": "JSON"
      }
    },
    {
      "inputConfig": {
        "gcsSource": {
          "uri": "gs://your-bucket/path/input/request_2.json"
        },
        "dataFormat": "JSON"
      },
      "outputConfig": {
        "gcsDestination": {
          "uri": "gs://your-bucket/path/output/response_2.json"
        },
        "dataFormat": "JSON"
      }
    }
  ]
}