本指南可協助您確認 Fleet Engine 授權設定是否完整,以及是否可以建立試用車輛。本指南使用 gcloud
指令列公用程式,測試授權權杖簽署和車輛建立作業。
如要完成這項程序,請按照下列步驟操作:
- 請將下列欄位替換為您在設定時建立的資料:
欄位 | 替換成 |
---|---|
PROJECT_ID | 您的 Cloud 專案 ID。 |
SERVICE_ACCOUNT_EMAIL_ADDRESS | 您以管理員角色建立的服務帳戶電子郵件地址。詳情請參閱「行動服務帳戶角色」。 |
VEHICLE_ID 或 DELIVERY_VEHICLE_ID |
車輛的隨機 ID。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
透過適當的 IAM 權限簽署這個 JWT。:gcloud iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
簽署的 JWT 會儲存在
output.jwt
中。詳情請參閱 Google Cloud 文件中的「提供必要權限」和「
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" }