אימות ההגדרה

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

כדי לעשות את זה:

  1. מחליפים את השדות שבהמשך בנתונים שיצרתם כחלק מההגדרה:
שדה החלפה עם
PROJECT_ID מזהה הפרויקט בענן.
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. יוצרים הצהרת 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"
        }
        

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