本指南可帮助您验证 Fleet Engine 授权设置是否已完成,以及您是否可以创建试用车辆。本指南使用 gcloud
命令行实用程序测试授权令牌签名和车辆创建。
若要完成此流程,请执行以下操作:
- 将以下字段替换为您在设置过程中创建的数据:
字段 | 替换为 |
---|---|
PROJECT_ID | 您的 Cloud 项目 ID。 |
SERVICE_ACCOUNT_EMAIL_ADDRESS | 您创建的具有“管理员”角色的服务账号的电子邮件地址。如需了解详情,请参阅移动服务账号角色。 |
VEHICLE_ID OR DELIVERY_VEHICLE_ID |
车辆的随机 ID。该 ID 最多可包含 64 个字符。 |
使用
gcloud
实用程序登录 Google Cloud 账号,并在工作站上设置活跃项目:gcloud auth login gcloud config set project PROJECT_ID
为创建车辆创建 JSON Web 令牌 (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
在车队引擎上创建测试车辆:按需行程
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" }