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