אימות ההגדרה

המדריך הזה יעזור לך לוודא שהגדרת ההרשאה של Fleet Engine הושלם, ושתוכל ליצור רכב לניסיון. במדריך הזה נעשה שימוש כלי שורת הפקודה gcloud כדי לבדוק חתימה על אסימון הרשאה ויצירת רכב.

כדי להשלים את התהליך, צריך להחליף את השדות שלמטה בנתונים שיצרתם כחלק מההגדרה:

שדה החלפה עם
PROJECT_ID מזהה הפרויקט ב-Cloud.
SERVICE_ACCOUNT_EMAIL_ADDRESS כתובת האימייל של חשבון שירות שיצרתם עם תפקיד אדמין. צפייה תפקידים בחשבון שירות ניידות לקבלת פרטים.

VEHICLE_ID

OR

DELIVERY_VEHICLE_ID

מזהה אקראי של הרכב. המזהה יכול להכיל עד 64 תווים.
  1. להשתמש בכלי gcloud כדי להתחבר לחשבון Google Cloud ולהגדיר את פרויקט פעיל בתחנת העבודה שלך:

    gcloud auth login
    gcloud config set project PROJECT_ID
    
  2. יוצרים הצהרה על זכויות יוצרים ב-JSON Web Token (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"
        }
        

המאמרים הבאים