يقدّم هذا الدليل إطلاقًا تجريبيًا لطريقتَي واجهة برمجة التطبيقات OptimizeToursLongRunning
و OptimizeToursUri اللتين تسمحان للمستخدمين بتقديم طلبات تحسين فردية
غير حظر. في عملية التحسين غير الحظر، يتلقّى المستخدم
بسرعة كائن Operation proto من الطريقة التي يمكن استخدامها
للإشارة إلى حالة التحسين من خلال طلب GetOperation.
لمزيد من التفاصيل، يُرجى الاطّلاع على العمليات الطويلة الأمد.
توفر هاتان الطريقتان غير الحظر مزايا الموثوقية مقارنةً بطريقة OptimizeTours الحظر، لأنّه ليس على العميل الحفاظ على الاتصال بالخادم أثناء تنفيذ عملية التحسين. بالإضافة إلى ذلك، تسهّل هاتان الطريقتان الجديدتان تصحيح الأخطاء
مقارنةً بـ BatchOptimizeTours لأنّ كل عملية تحسين
مرتبطة بعملية طويلة الأمد (LRO) واحدة.
يمكن للمستخدمين الذين يفضّلون تضمين طلب التحسين استخدام طريقة
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