המדריך הזה יעזור לכם לוודא שהגדרתם את ההרשאות ב-Fleet Engine כמו שצריך, וליצור רכב לניסיון. במדריך הזה נעשה שימוש בכלי gcloud של שורת הפקודה כדי לבדוק את החתימה של אסימון ההרשאה ואת יצירת הרכב.
כדי לעשות את זה:
- מחליפים את השדות שבהמשך בנתונים שיצרתם כחלק מההגדרה:
| שדה | החלפה עם |
|---|---|
| PROJECT_ID | מזהה הפרויקט בענן. |
| SERVICE_ACCOUNT_EMAIL_ADDRESS | כתובת האימייל של חשבון השירות שיצרתם עם תפקיד האדמין. למידע נוסף, קראו את המאמר תפקידים של חשבונות שירות ב-Mobility. |
VEHICLE_ID OR DELIVERY_VEHICLE_ID |
מזהה רנדומלי של הרכב. המזהה יכול להכיל עד 64 תווים. |
משתמשים בכלי
gcloudכדי להיכנס לחשבון Google Cloud ולהגדיר את הפרויקט הפעיל בתחנת העבודה:gcloud auth login gcloud config set project PROJECT_IDיוצרים הצהרת 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משתמשים ב-
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.משתמשים ב-
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" }