طرق Optimization API الفردية غير المحظورة

يقدّم هذا الدليل الإطلاق التجريبي لطريقتَي واجهة برمجة التطبيقات OptimizeToursLongRunning وOptimizeToursUri اللتَين تتيحان للمستخدمين تقديم طلبات تحسين فردية غير حظر. في عملية التحسين غير الحظر، يتلقّى المستخدم بسرعة بروتوكول Operation من الطريقة التي يمكن استخدامها للإشارة إلى حالة التحسين من خلال طلب 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 عن بُعد في مسار معرّف الموارد الموحّد للناتج الذي تم تقديمه في الطلب.

    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