একক নন-ব্লকিং অপ্টিমাইজেশান API পদ্ধতি

এই নির্দেশিকা OptimizeToursLongRunning এবং OptimizeToursUri API পদ্ধতিগুলির পরীক্ষামূলক লঞ্চের প্রবর্তন করে যা ব্যবহারকারীদের একক নন-ব্লকিং অপ্টিমাইজেশন অনুরোধ করতে দেয়। একটি নন-ব্লকিং অপ্টিমাইজেশানে, ব্যবহারকারী দ্রুত পদ্ধতি থেকে একটি অপারেশন প্রোটো পায় যা GetOperation কল করে অপ্টিমাইজেশনের স্থিতি উল্লেখ করতে ব্যবহার করা যেতে পারে। আরও বিস্তারিত জানার জন্য লং রানিং অপারেশন দেখুন।

এই নন-ব্লকিং পদ্ধতিগুলি OptimizeTours পদ্ধতি ব্লক করার উপর নির্ভরযোগ্যতার সুবিধা প্রদান করে কারণ অপ্টিমাইজেশন চালানোর সময় ক্লায়েন্টকে সার্ভারের সাথে সংযোগ বজায় রাখার প্রয়োজন হয় না। এছাড়াও, এই নতুন পদ্ধতিগুলি BatchOptimizeTours এর তুলনায় ব্যর্থতাগুলি ডিবাগ করা সহজ করে তোলে কারণ প্রতিটি অপ্টিমাইজেশান একটি একক লং-রানিং অপারেশন (LRO) এর সাথে যুক্ত।

যে ব্যবহারকারীরা অপ্টিমাইজেশন অনুরোধ ইনলাইন করতে পছন্দ করেন তারা OptimizeToursLongRunning পদ্ধতি ব্যবহার করতে পারেন যখন ব্যবহারকারীরা Google ক্লাউড স্টোরেজ ব্যবহার করে অনুরোধ এবং পঠিত প্রতিক্রিয়া আপলোড করতে পছন্দ করেন তারা OptimizeToursUri পদ্ধতি ব্যবহার করতে পারেন।

OptimizeToursLongRunning

উদাহরণ: একটি OptimizeToursLongRunning অনুরোধ করুন

একটি অনুরোধ করার আগে, আপনার পরিবেশের জন্য উপযুক্ত মান দিয়ে নিম্নলিখিত পরামিতিগুলি প্রতিস্থাপন করুন:

  • ইউজ OAuth- এ বর্ণিত অ্যাপ্লিকেশান ডিফল্ট শংসাপত্রগুলি কনফিগার করা আছে তা নিশ্চিত করুন।
  • আপনার ক্লাউড প্রকল্প নম্বর বা আইডিতে PROJECT_NUMBER_OR_ID সেট করুন।

    নিম্নলিখিত কমান্ডটি রুট অপ্টিমাইজেশান এপিআইতে একটি 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 মতো, আপনি Google ক্লাউড স্টোরেজে আপনার অপ্টিমাইজেশন অনুরোধ এবং প্রতিক্রিয়া সঞ্চয় করা চালিয়ে যেতে OptimizeToursUri ব্যবহার করতে পারেন। OptimizeToursUri অনুরোধ বার্তায় ক্লাউড স্টোরেজ ইউআরআই অবশ্যই উল্লেখ করতে হবে। ফিরে আসা Operation স্ট্যাটাস শুধুমাত্র একক জমা দেওয়া OptimizeToursRequest সাথে সম্পর্কিত।

উদাহরণ: একটি OptimizeToursUri অনুরোধ করুন

একটি অনুরোধ করার আগে, আপনার পরিবেশের জন্য উপযুক্ত মান দিয়ে নিম্নলিখিত পরামিতিগুলি প্রতিস্থাপন করুন:

  • ইউজ OAuth- এ বর্ণিত অ্যাপ্লিকেশান ডিফল্ট শংসাপত্রগুলি কনফিগার করা আছে তা নিশ্চিত করুন।
  • আপনার ক্লাউড প্রকল্প নম্বর বা আইডিতে PROJECT_NUMBER_OR_ID সেট করুন।

    নিম্নলিখিত কমান্ডটি রুট অপ্টিমাইজেশান API-এ একটি OptimizeToursUri অনুরোধ পাঠায় এবং এটির সাথে যুক্ত একটি অপারেশন আইডি পায়। অপারেশনের অবস্থা জানতে GetOperation পদ্ধতি ব্যবহার করুন। একবার অপারেশন শেষ হলে, অনুরোধে প্রদত্ত আউটপুট URI পাথে 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