একটি এন্ডপয়েন্ট বেছে নিন, একটি এন্ডপয়েন্ট বেছে নিন

রুট অপটিমাইজেশন এপিআই-এর নিম্নলিখিত এন্ডপয়েন্টগুলো রয়েছে:

  • OptimizeTours : একক অনুরোধের জন্য একটি ব্লকিং এন্ডপয়েন্ট।
  • OptimizeToursLongRunning : দীর্ঘ সমাধান সময় নেয় এমন একক অনুরোধের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট।
  • OptimizeToursUri : বৃহৎ ডেটার প্রয়োজন হয় এমন একক অনুরোধের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট।
  • BatchOptimizeTours : একই সাথে একাধিক অনুরোধ প্রক্রিয়াকরণের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট।

আপনি যে এন্ডপয়েন্টটি বেছে নেবেন তা আপনার ব্যবহারের ক্ষেত্র, অনুরোধের আকার, প্রত্যাশিত সমাধানের সময় এবং আপনাকে একই সাথে একাধিক অনুরোধ প্রক্রিয়া করতে হবে কিনা তার উপর নির্ভর করে।

এন্ডপয়েন্টগুলির তুলনা করুন

আপনার প্রয়োজনের জন্য সঠিক এন্ডপয়েন্টটি শনাক্ত করতে নিম্নলিখিত সারণিটি ব্যবহার করুন:

এন্ডপয়েন্ট OptimizeTours OptimizeToursLongRunning OptimizeToursUri BatchOptimizeTours
এক্সিকিউশন টাইপ ব্লকিং নন-ব্লকিং নন-ব্লকিং নন-ব্লকিং
অনুরোধগুলি প্রক্রিয়া করা হয়েছে একক একক একক একাধিক
সর্বোচ্চ অনুরোধের আকার ছোট মাঝারি বড় বড়
সময় সমাধান করুন সংক্ষিপ্ত দীর্ঘ দীর্ঘ দীর্ঘ
গুগল ক্লাউড স্টোরেজ প্রয়োজন না না হ্যাঁ হ্যাঁ

এন্ডপয়েন্টের বৈশিষ্ট্যগুলি বুঝুন

সঠিক এন্ডপয়েন্ট বেছে নিতে আপনাকে সাহায্য করার জন্য পূর্ববর্তী সারণিতে নিম্নলিখিত বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

  • এক্সিকিউশন টাইপ : কোনো প্রতিক্রিয়ার জন্য অপেক্ষা করার সময় আপনার অ্যাপ্লিকেশন কীভাবে নেটওয়ার্ক সংযোগ পরিচালনা করবে, তা এটি নির্ধারণ করে। এটি দুই প্রকার:
    • এন্ডপয়েন্ট ব্লক করা : এপিআই থেকে প্রতিক্রিয়া না আসা পর্যন্ত সংযোগটি খোলা রাখা।
    • নন-ব্লকিং এন্ডপয়েন্ট : ব্যাকগ্রাউন্ডে অনুরোধগুলি প্রক্রিয়া করে। এপিআই তাৎক্ষণিকভাবে একটি লং-রানিং অপারেশন (LRO) আইডি ফেরত দেয়, যা আপনি পরে ফলাফল সংগ্রহের জন্য পোল করতে পারেন।
  • প্রক্রিয়াকৃত অনুরোধসমূহ : এটি নির্ধারণ করে যে এন্ডপয়েন্টটি একটিমাত্র রাউটিং অনুরোধ পরিচালনা করবে, নাকি একই সাথে একাধিক অনুরোধ প্রক্রিয়া করবে।
  • সর্বোচ্চ অনুরোধের আকার : ছোট এবং মাঝারি আকারের অনুরোধগুলি সরাসরি ইনলাইনে পাঠানো হয় এবং এগুলির সার্ভার-সাইড সীমাবদ্ধতা রয়েছে। বড় আকারের অনুরোধগুলি গুগল ক্লাউড স্টোরেজ ব্যবহার করে এই সীমাবদ্ধতাগুলি এড়িয়ে যায়। এন্ডপয়েন্টের বিবরণ বিভাগে অনুরোধের আকারের সঠিক সীমাবদ্ধতাগুলি খুঁজে নিন।
  • সমাধানের সময় : সাধারণ অনুরোধগুলি অল্প সময়ে সমাধান করা যায়, অন্যদিকে জটিল অনুরোধগুলি সমাধান করতে বেশি সময় লাগে। যেহেতু সমাধানের সময় নির্ধারণ করে একটি সংযোগ কতক্ষণ খোলা রাখতে হবে, তাই আপনার এন্ডপয়েন্ট নির্বাচন আপনার টাইমআউট সীমার উপর নির্ভর করে। আরও তথ্যের জন্য, টাইমআউট এবং ডেডলাইন কনফিগার করুন দেখুন।
  • গুগল ক্লাউড স্টোরেজ প্রয়োজন : যে এন্ডপয়েন্টগুলো বড় আকারের অনুরোধ এবং প্রতিক্রিয়া প্রক্রিয়া করে, সেগুলো সরাসরি গুগল ক্লাউড স্টোরেজ থেকে ডেটা পড়ে এবং লেখে। HTTP অনুরোধে ডেটা পাঠানোর পরিবর্তে, আপনি আপনার অনুরোধটি একটি ক্লাউড স্টোরেজ বাকেটে আপলোড করেন এবং API-তে URI-টি পাঠান।

এন্ডপয়েন্টের বিবরণ

রুট অপটিমাইজেশন এপিআই-এর চারটি এন্ডপয়েন্ট রয়েছে। নিম্নলিখিত বিভাগগুলিতে প্রতিটি এন্ডপয়েন্ট কীভাবে কাজ করে তা ব্যাখ্যা করা হয়েছে এবং একটি উদাহরণ অনুরোধও অন্তর্ভুক্ত করা হয়েছে।

OptimizeTours

OptimizeTours হলো একটি ব্লকিং এন্ডপয়েন্ট, যা স্বল্প সময়ে সমাধানযোগ্য একক অনুরোধের জন্য তৈরি। এটি সরাসরি রেসপন্সে একটি অপটিমাইজড রুট ফেরত দেয়। যেহেতু এটি একটি ব্লকিং এন্ডপয়েন্ট, তাই রেসপন্স পাওয়ার জন্য এপিআই-এর অনুরোধ প্রক্রিয়াকরণ শেষ না হওয়া পর্যন্ত আপনাকে আপনার নেটওয়ার্ক সংযোগ খোলা রাখতে হবে । এই এন্ডপয়েন্টটি প্রায় ৪ মেগাবাইট পর্যন্ত ইনলাইন অনুরোধ গ্রহণ করে।

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 হলো দীর্ঘ সমাধান সময় নেয় এমন একক অনুরোধের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট । এটি একটি লং-রানিং অপারেশন (LRO) আইডি রিটার্ন করে। আপনি GetOperation এন্ডপয়েন্ট ব্যবহার করে এই আইডিটি পোল করতে পারেন অনুরোধের অবস্থা পরীক্ষা করতে এবং চূড়ান্ত অপ্টিমাইজ করা রুটগুলো পুনরুদ্ধার করতে। এই এন্ডপয়েন্টটি প্রায় ৮ মেগাবাইট পর্যন্ত ইনলাইন অনুরোধ গ্রহণ করে।

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

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

OptimizeToursUri

OptimizeToursUri হলো একটি নন-ব্লকিং এন্ডপয়েন্ট, যা দীর্ঘ সমাধান সময় এবং বৃহৎ ডেটার (৮ মেগাবাইটের বেশি) প্রয়োজন হয় এমন একক অনুরোধের জন্য তৈরি। এটি একটি লং-রানিং অপারেশন (LRO) আইডি রিটার্ন করে। আপনি GetOperation এন্ডপয়েন্ট ব্যবহার করে এই আইডিটি পোল করে অনুরোধের অবস্থা পরীক্ষা করতে পারেন।

আপনার পেলোড ইনলাইনে পাঠানোর পরিবর্তে, আপনি আপনার OptimizeToursRequest গুগল ক্লাউড স্টোরেজে আপলোড করেন। এরপর আপনি আপনার ইনপুট রিকোয়েস্ট এবং আউটপুট ডেস্টিনেশন উভয়ের জন্য ক্লাউড স্টোরেজ ইউআরআই-গুলো এপিআই-তে পাঠান। সার্ভার আপনার ইনপুট ইউআরআই থেকে ডেটা পড়ে এবং চূড়ান্ত OptimizeToursResponse সরাসরি আপনার আউটপুট ইউআরআই-তে লিখে দেয়। অপারেশনটি সম্পন্ন হয়ে গেলে আপনি এই আউটপুট ইউআরআই থেকে অপ্টিমাইজ করা রুটগুলো পড়তে পারবেন।

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

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

BatchOptimizeTours

BatchOptimizeTours হলো একটি নন-ব্লকিং এন্ডপয়েন্ট, যা একই সাথে একাধিক ও স্বতন্ত্র অপটিমাইজেশন অনুরোধ প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি একটি লং-রানিং অপারেশন (LRO) আইডি রিটার্ন করে। আপনি GetOperation এন্ডপয়েন্ট ব্যবহার করে এই আইডিটি পোল করার মাধ্যমে অনুরোধের অবস্থা পরীক্ষা করতে এবং চূড়ান্ত অপটিমাইজ করা রুটগুলো সংগ্রহ করতে পারেন।

আপনার পেলোড সরাসরি পাঠানোর পরিবর্তে, আপনি গুগল ক্লাউড স্টোরেজে একাধিক OptimizeToursRequest আপলোড করেন। এরপর আপনি ক্লাউড স্টোরেজ URI-গুলো API-তে পাঠান। সার্ভার আপনার ইনপুট URI-গুলো থেকে ডেটা পড়ে এবং প্রতিটি অনুরোধের জন্য সরাসরি আপনার আউটপুট URI-গুলোতে একটি 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"
      }
    }
  ]
}
    
,

রুট অপটিমাইজেশন এপিআই-এর নিম্নলিখিত এন্ডপয়েন্টগুলো রয়েছে:

  • OptimizeTours : একক অনুরোধের জন্য একটি ব্লকিং এন্ডপয়েন্ট।
  • OptimizeToursLongRunning : দীর্ঘ সমাধান সময় নেয় এমন একক অনুরোধের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট।
  • OptimizeToursUri : বৃহৎ ডেটার প্রয়োজন হয় এমন একক অনুরোধের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট।
  • BatchOptimizeTours : একই সাথে একাধিক অনুরোধ প্রক্রিয়াকরণের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট।

আপনি যে এন্ডপয়েন্টটি বেছে নেবেন তা আপনার ব্যবহারের ক্ষেত্র, অনুরোধের আকার, প্রত্যাশিত সমাধানের সময় এবং আপনাকে একই সাথে একাধিক অনুরোধ প্রক্রিয়া করতে হবে কিনা তার উপর নির্ভর করে।

এন্ডপয়েন্টগুলির তুলনা করুন

আপনার প্রয়োজনের জন্য সঠিক এন্ডপয়েন্টটি শনাক্ত করতে নিম্নলিখিত সারণিটি ব্যবহার করুন:

এন্ডপয়েন্ট OptimizeTours OptimizeToursLongRunning OptimizeToursUri BatchOptimizeTours
এক্সিকিউশন টাইপ ব্লকিং নন-ব্লকিং নন-ব্লকিং নন-ব্লকিং
অনুরোধগুলি প্রক্রিয়া করা হয়েছে একক একক একক একাধিক
সর্বোচ্চ অনুরোধের আকার ছোট মাঝারি বড় বড়
সময় সমাধান করুন সংক্ষিপ্ত দীর্ঘ দীর্ঘ দীর্ঘ
গুগল ক্লাউড স্টোরেজ প্রয়োজন না না হ্যাঁ হ্যাঁ

এন্ডপয়েন্টের বৈশিষ্ট্যগুলি বুঝুন

সঠিক এন্ডপয়েন্ট বেছে নিতে আপনাকে সাহায্য করার জন্য পূর্ববর্তী সারণিতে নিম্নলিখিত বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

  • এক্সিকিউশন টাইপ : কোনো প্রতিক্রিয়ার জন্য অপেক্ষা করার সময় আপনার অ্যাপ্লিকেশন কীভাবে নেটওয়ার্ক সংযোগ পরিচালনা করবে, তা এটি নির্ধারণ করে। এটি দুই প্রকার:
    • এন্ডপয়েন্ট ব্লক করা : এপিআই থেকে প্রতিক্রিয়া না আসা পর্যন্ত সংযোগটি খোলা রাখা।
    • নন-ব্লকিং এন্ডপয়েন্ট : ব্যাকগ্রাউন্ডে অনুরোধগুলি প্রক্রিয়া করে। এপিআই তাৎক্ষণিকভাবে একটি লং-রানিং অপারেশন (LRO) আইডি ফেরত দেয়, যা আপনি পরে ফলাফল সংগ্রহের জন্য পোল করতে পারেন।
  • প্রক্রিয়াকৃত অনুরোধসমূহ : এটি নির্ধারণ করে যে এন্ডপয়েন্টটি একটিমাত্র রাউটিং অনুরোধ পরিচালনা করবে, নাকি একই সাথে একাধিক অনুরোধ প্রক্রিয়া করবে।
  • সর্বোচ্চ অনুরোধের আকার : ছোট এবং মাঝারি আকারের অনুরোধগুলি সরাসরি ইনলাইনে পাঠানো হয় এবং এগুলির সার্ভার-সাইড সীমাবদ্ধতা রয়েছে। বড় আকারের অনুরোধগুলি গুগল ক্লাউড স্টোরেজ ব্যবহার করে এই সীমাবদ্ধতাগুলি এড়িয়ে যায়। এন্ডপয়েন্টের বিবরণ বিভাগে অনুরোধের আকারের সঠিক সীমাবদ্ধতাগুলি খুঁজে নিন।
  • সমাধানের সময় : সাধারণ অনুরোধগুলি অল্প সময়ে সমাধান করা যায়, অন্যদিকে জটিল অনুরোধগুলি সমাধান করতে বেশি সময় লাগে। যেহেতু সমাধানের সময় নির্ধারণ করে একটি সংযোগ কতক্ষণ খোলা রাখতে হবে, তাই আপনার এন্ডপয়েন্ট নির্বাচন আপনার টাইমআউট সীমার উপর নির্ভর করে। আরও তথ্যের জন্য, টাইমআউট এবং ডেডলাইন কনফিগার করুন দেখুন।
  • গুগল ক্লাউড স্টোরেজ প্রয়োজন : যে এন্ডপয়েন্টগুলো বড় আকারের অনুরোধ এবং প্রতিক্রিয়া প্রক্রিয়া করে, সেগুলো সরাসরি গুগল ক্লাউড স্টোরেজ থেকে ডেটা পড়ে এবং লেখে। HTTP অনুরোধে ডেটা পাঠানোর পরিবর্তে, আপনি আপনার অনুরোধটি একটি ক্লাউড স্টোরেজ বাকেটে আপলোড করেন এবং API-তে URI-টি পাঠান।

এন্ডপয়েন্টের বিবরণ

রুট অপটিমাইজেশন এপিআই-এর চারটি এন্ডপয়েন্ট রয়েছে। নিম্নলিখিত বিভাগগুলিতে প্রতিটি এন্ডপয়েন্ট কীভাবে কাজ করে তা ব্যাখ্যা করা হয়েছে এবং একটি উদাহরণ অনুরোধও অন্তর্ভুক্ত করা হয়েছে।

OptimizeTours

OptimizeTours হলো একটি ব্লকিং এন্ডপয়েন্ট, যা স্বল্প সময়ে সমাধানযোগ্য একক অনুরোধের জন্য তৈরি। এটি সরাসরি রেসপন্সে একটি অপটিমাইজড রুট ফেরত দেয়। যেহেতু এটি একটি ব্লকিং এন্ডপয়েন্ট, তাই রেসপন্স পাওয়ার জন্য এপিআই-এর অনুরোধ প্রক্রিয়াকরণ শেষ না হওয়া পর্যন্ত আপনাকে আপনার নেটওয়ার্ক সংযোগ খোলা রাখতে হবে । এই এন্ডপয়েন্টটি প্রায় ৪ মেগাবাইট পর্যন্ত ইনলাইন অনুরোধ গ্রহণ করে।

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 হলো দীর্ঘ সমাধান সময় নেয় এমন একক অনুরোধের জন্য একটি নন-ব্লকিং এন্ডপয়েন্ট । এটি একটি লং-রানিং অপারেশন (LRO) আইডি রিটার্ন করে। আপনি GetOperation এন্ডপয়েন্ট ব্যবহার করে এই আইডিটি পোল করতে পারেন অনুরোধের অবস্থা পরীক্ষা করতে এবং চূড়ান্ত অপ্টিমাইজ করা রুটগুলো পুনরুদ্ধার করতে। এই এন্ডপয়েন্টটি প্রায় ৮ মেগাবাইট পর্যন্ত ইনলাইন অনুরোধ গ্রহণ করে।

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

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

OptimizeToursUri

OptimizeToursUri হলো একটি নন-ব্লকিং এন্ডপয়েন্ট, যা দীর্ঘ সমাধান সময় এবং বৃহৎ ডেটার (৮ মেগাবাইটের বেশি) প্রয়োজন হয় এমন একক অনুরোধের জন্য তৈরি। এটি একটি লং-রানিং অপারেশন (LRO) আইডি রিটার্ন করে। আপনি GetOperation এন্ডপয়েন্ট ব্যবহার করে এই আইডিটি পোল করে অনুরোধের অবস্থা পরীক্ষা করতে পারেন।

আপনার পেলোড ইনলাইনে পাঠানোর পরিবর্তে, আপনি আপনার OptimizeToursRequest গুগল ক্লাউড স্টোরেজে আপলোড করেন। এরপর আপনি আপনার ইনপুট রিকোয়েস্ট এবং আউটপুট ডেস্টিনেশন উভয়ের জন্য ক্লাউড স্টোরেজ ইউআরআই-গুলো এপিআই-তে পাঠান। সার্ভার আপনার ইনপুট ইউআরআই থেকে ডেটা পড়ে এবং চূড়ান্ত OptimizeToursResponse সরাসরি আপনার আউটপুট ইউআরআই-তে লিখে দেয়। অপারেশনটি সম্পন্ন হয়ে গেলে আপনি এই আউটপুট ইউআরআই থেকে অপ্টিমাইজ করা রুটগুলো পড়তে পারবেন।

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

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

BatchOptimizeTours

BatchOptimizeTours হলো একটি নন-ব্লকিং এন্ডপয়েন্ট, যা একই সাথে একাধিক ও স্বতন্ত্র অপটিমাইজেশন অনুরোধ প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি একটি লং-রানিং অপারেশন (LRO) আইডি রিটার্ন করে। আপনি GetOperation এন্ডপয়েন্ট ব্যবহার করে এই আইডিটি পোল করার মাধ্যমে অনুরোধের অবস্থা পরীক্ষা করতে এবং চূড়ান্ত অপটিমাইজ করা রুটগুলো সংগ্রহ করতে পারেন।

আপনার পেলোড সরাসরি পাঠানোর পরিবর্তে, আপনি গুগল ক্লাউড স্টোরেজে একাধিক OptimizeToursRequest আপলোড করেন। এরপর আপনি ক্লাউড স্টোরেজ URI-গুলো API-তে পাঠান। সার্ভার আপনার ইনপুট URI-গুলো থেকে ডেটা পড়ে এবং প্রতিটি অনুরোধের জন্য সরাসরি আপনার আউটপুট URI-গুলোতে একটি 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"
      }
    }
  ]
}