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

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

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

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

অপ্টিমাইজ ট্যুরলংরানিং

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

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

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

    নিম্নলিখিত কমান্ডটি 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

অপ্টিমাইজট্যুরসইউরি

BatchOptimizeTours এর মতো, আপনি Google ক্লাউড স্টোরেজে আপনার অপ্টিমাইজেশন অনুরোধ এবং প্রতিক্রিয়া সংরক্ষণ চালিয়ে যেতে OptimizeToursUri ব্যবহার করতে পারেন। OptimizeToursUri অনুরোধ বার্তায় ক্লাউড স্টোরেজ URI গুলি নির্দিষ্ট করতে হবে। ফিরে আসা Operation স্ট্যাটাস শুধুমাত্র জমা দেওয়া একক OptimizeToursRequest এর সাথে সম্পর্কিত।

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

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

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

    নিম্নলিখিত কমান্ডটি Route Optimization API-তে একটি OptimizeToursUri অনুরোধ পাঠায় এবং এর সাথে সম্পর্কিত একটি অপারেশন আইডি গ্রহণ করে। অপারেশনের অবস্থা জানতে GetOperation পদ্ধতি ব্যবহার করুন। অপারেশনটি সম্পূর্ণ হয়ে গেলে, OptimizeToursResponse অনুরোধে প্রদত্ত আউটপুট URI পাথে দূরবর্তীভাবে সংরক্ষণ করা হয়।

    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