التحقّق من صحة الإعداد

يساعدك هذا الدليل في التأكّد من أنّ إعدادات تفويض Fleet Engine مفعّلة. فيها، ويمكنك إنشاء مركبة تجريبية. يستخدم هذا الدليل أداة سطر الأوامر gcloud لاختبار توقيع الرمز المميز للتفويض وإنشاء المركبة

لإكمال هذه العملية، استبدل الحقول أدناه بالبيانات التي أنشأتها كجزء من عملية الإعداد:

الحقل الاستبدال بـ
PROJECT_ID رقم تعريف مشروعك على Google Cloud
SERVICE_ACCOUNT_EMAIL_ADDRESS عنوان البريد الإلكتروني لحساب الخدمة الذي أنشأته باستخدام دور المشرف. عرض الأدوار في حساب خدمة التنقّل لمزيد من التفاصيل.

VEHICLE_ID

أو

DELIVERY_VEHICLE_ID

رقم تعريف عشوائي للمركبة ويمكن أن يتضمّن المعرّف 64 حرفًا كحدّ أقصى.
  1. استخدِم أداة gcloud لتسجيل الدخول إلى حساب Google Cloud وضبط المشروع النشط على محطة العمل لديك:

    gcloud auth login
    gcloud config set project PROJECT_ID
    
  2. إنشاء مطالبة برمز JSON للويب (JWT) لإنشاء المركبة:

    رحلات عند الطلب

        cat > claim.jwt << EOM
        {
          "iss": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
          "sub": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
          "aud": "https://fleetengine.googleapis.com/",
          "iat": $(date +%s),
          "exp": $((`date +%s` + 3600)),
          "authorization": {
            "vehicleid": "VEHICLE_ID"
          }
        }
        EOM
        

    المهام المُجدوَلة

        cat > claim.jwt << EOM
        {
          "iss": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
          "sub": "SERVICE_ACCOUNT_EMAIL_ADDRESS",
          "aud": "https://fleetengine.googleapis.com/",
          "iat": $(date +%s),
          "exp": $((`date +%s` + 3600)),
          "authorization": {
            "deliveryvehicleid": "DELIVERY_VEHICLE_ID"
          }
        }
        EOM
        
  3. استخدم gcloud لتوقيع JWT هذا:

    gcloud beta iam service-accounts sign-jwt claim.jwt output.jwt \
      --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
    

    يتم تخزين ملف JWT الموقَّع في output.jwt.

    يُرجى الاطّلاع على دليل سطر الأوامر gcloud. لمزيد من التفاصيل.

  4. استخدِم "curl" لإنشاء مركبة اختبار على Fleet Engine:

    رحلات عند الطلب

        curl -X POST "https://fleetengine.googleapis.com/v1/providers/PROJECT_ID/vehicles?vehicleId=VEHICLE_ID" \
          -H "Content-type: application/json" \
          -H "Authorization: Bearer $(cat output.jwt)" \
          --data-binary @- << EOM
        {
          "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID"
        }
        EOM
        {
          "vehicleState": "OFFLINE",
          "supportedTripTypes": ["EXCLUSIVE"],
          "maximumCapacity": 4,
          "vehicleType": {"category": "AUTO"},
          "attributes": [{"key": "on_trip", "value": "false"}]
        }
        

    من المفترض أن يؤدي هذا الأمر إلى طباعة اسم المركبة كإخراج. إذا كنت ترى النص التالي، فإن الإعداد ناجح.

        {
          "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID"
        }
        

    المهام المُجدوَلة

        curl -X POST "https://fleetengine.googleapis.com/v1/providers/PROJECT_ID/deliveryVehicles?deliveryVehicleId=DELIVERY_VEHICLE_ID" \
          -H "Content-type: application/json" \
          -H "Authorization: Bearer $(cat output.jwt)" \
          --data-binary @- << EOM
        {
          "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID"
        }
        EOM
        

    يجب أن يطبع هذا الأمر اسم مركبة التسليم كإخراج. إذا كنت ترى النص التالي، فإن الإعداد ناجح.

        {
          "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID"
        }
        

الخطوات التالية