במדריך הזה נסביר איך לוודא שההגדרה של הרשאת 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
יוצרים טענת נכונות (claim) של אסימון רשת מבוסס 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 הזה:gcloud beta iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
ה-JWT החתום מאוחסן ב-
output.jwt
.כדאי לעיין במדריך שורת הפקודה
gcloud
. אפשר לקבל פרטים נוספים.משתמשים ב-
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" }