روش‌های API بهینه‌سازی منفرد غیر مسدود

این راهنما راه‌اندازی آزمایشی روش‌های OptimizeToursLongRunning و OptimizeToursUri API را معرفی می‌کند که به کاربران اجازه می‌دهد درخواست‌های بهینه‌سازی غیرمسدود کننده را ارائه کنند. در یک بهینه‌سازی غیرمسدود، کاربر به سرعت یک پروتکل عملیاتی را از روشی دریافت می‌کند که می‌تواند برای ارجاع به وضعیت بهینه‌سازی با فراخوانی GetOperation استفاده شود. برای جزئیات بیشتر به عملیات طولانی مدت مراجعه کنید.

این روش‌های غیرمسدود، مزایای قابلیت اطمینان را نسبت به روش مسدود کردن OptimizeTours ارائه می‌کنند، زیرا مشتری نیازی به حفظ اتصال به سرور در حین اجرای بهینه‌سازی ندارد. همچنین، این روش‌های جدید اشکال‌زدایی خرابی‌ها را در مقایسه با BatchOptimizeTours آسان‌تر می‌کنند، زیرا هر بهینه‌سازی با یک عملیات طولانی مدت (LRO) مرتبط است.

کاربرانی که ترجیح می‌دهند درخواست بهینه‌سازی را درون خطی کنند، می‌توانند از روش OptimizeToursLongRunning استفاده کنند در حالی که کاربرانی که ترجیح می‌دهند درخواست‌ها و پاسخ خوانده شده را با استفاده از Google Cloud Storage بارگذاری کنند، می‌توانند از روش OptimizeToursUri استفاده کنند.

OptimizeToursLongRunning

مثال: یک درخواست OptimizeToursLongRunning بنویسید

قبل از درخواست، پارامترهای زیر را با مقادیر مناسب برای محیط خود جایگزین کنید:

  • اطمینان حاصل کنید که اعتبارنامه پیش‌فرض برنامه را همانطور که در Use OAuth توضیح داده شده پیکربندی کرده‌اید.
  • PROJECT_NUMBER_OR_ID را روی شماره یا شناسه پروژه Cloud خود تنظیم کنید.

    دستور زیر یک درخواست OptimizeToursLongRunning را به Route Optimization API ارسال می کند و شناسه عملیات مرتبط با آن را دریافت می کند. از متد 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 استفاده کنید. URI های فضای ذخیره سازی ابری باید در پیام درخواست OptimizeToursUri مشخص شوند. وضعیت Operation که برگردانده شده است تنها با OptimizeToursRequest ارسال شده مرتبط است.

به عنوان مثال: درخواست OptimizeToursUri ارسال کنید

قبل از درخواست، پارامترهای زیر را با مقادیر مناسب برای محیط خود جایگزین کنید:

  • اطمینان حاصل کنید که اعتبارنامه پیش‌فرض برنامه را همانطور که در Use OAuth توضیح داده شده پیکربندی کرده‌اید.
  • PROJECT_NUMBER_OR_ID را روی شماره یا شناسه پروژه Cloud خود تنظیم کنید.

    دستور زیر یک درخواست OptimizeToursUri را به Route Optimization API ارسال می کند و شناسه عملیات مرتبط با آن را دریافت می کند. از متد 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