אימות ההגדרה

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

כדי להשלים את התהליך:

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

VEHICLE_ID

OR

DELIVERY_VEHICLE_ID

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

    gcloud auth login
    gcloud config set project PROJECT_ID
    
  2. יוצרים הצהרה (claim) של 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 הזה עם הרשאות IAM המתאימות. :

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

    ה-JWT החתום מאוחסן ב-output.jwt.

    פרטים נוספים זמינים במאמרים מתן ההרשאות הנדרשות והמדריך לשורת הפקודה gcloud במסמכי Google Cloud.

  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"
        }
        

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