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