این راهنما، راهاندازی آزمایشی متدهای API مربوط به OptimizeToursLongRunning و OptimizeToursUri را معرفی میکند که به کاربران امکان میدهد درخواستهای بهینهسازی تکی غیر مسدودکننده (non-blocking optimization) را انجام دهند. در یک بهینهسازی غیر مسدودکننده، کاربر به سرعت یک نمونه اولیه Operation را از متد دریافت میکند که میتواند با فراخوانی GetOperation برای ارجاع به وضعیت بهینهسازی استفاده شود. برای جزئیات بیشتر به Long Running Operations مراجعه کنید.
این روشهای غیر مسدودکننده، مزایای قابلیت اطمینان بیشتری نسبت به روش مسدودکننده OptimizeTours ارائه میدهند، زیرا کلاینت نیازی به حفظ اتصال به سرور در حین اجرای بهینهسازی ندارد. همچنین، این روشهای جدید، اشکالزدایی از خطاها را در مقایسه با BatchOptimizeTours آسانتر میکنند، زیرا هر بهینهسازی با یک عملیات طولانیمدت (LRO) مرتبط است.
کاربرانی که ترجیح میدهند درخواست بهینهسازی را به صورت درونخطی (inline) وارد کنند، میتوانند از متد OptimizeToursLongRunning استفاده کنند، در حالی که کاربرانی که ترجیح میدهند درخواستها و پاسخ خوانده شده را با استفاده از Google Cloud Storage آپلود کنند، میتوانند از متد OptimizeToursUri استفاده کنند.
OptimizeToursLongRunning
مثال: یک درخواست OptimizeToursLongRunning ایجاد کنید
قبل از ارسال درخواست، پارامترهای زیر را با مقادیر مناسب برای محیط خود جایگزین کنید:
- مطمئن شوید که اعتبارنامههای پیشفرض برنامه را همانطور که در بخش «استفاده از OAuth» توضیح داده شده است، پیکربندی کردهاید.
PROJECT_NUMBER_OR_ID روی شماره یا شناسه پروژه ابری خود تنظیم کنید.
دستور زیر یک درخواست
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) مربوط به Cloud Storage باید در پیام درخواست OptimizeToursUri مشخص شوند. وضعیت Operation برگردانده شده فقط با یک درخواست ارسالی OptimizeToursRequest مرتبط است.
مثال: یک درخواست OptimizeToursUri ایجاد کنید
قبل از ارسال درخواست، پارامترهای زیر را با مقادیر مناسب برای محیط خود جایگزین کنید:
- مطمئن شوید که اعتبارنامههای پیشفرض برنامه را همانطور که در بخش «استفاده از OAuth» توضیح داده شده است، پیکربندی کردهاید.
PROJECT_NUMBER_OR_ID روی شماره یا شناسه پروژه ابری خود تنظیم کنید.
دستور زیر یک درخواست
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