本指南可帮助您验证 Fleet Engine 授权设置是否已完成,以及您是否可以创建试用车辆。本指南使用 gcloud
命令行实用程序测试授权令牌签名和车辆创建。
若要完成此流程,请执行以下操作:
- 将以下字段替换为您在设置过程中创建的数据:
字段 | 替换为 |
---|---|
您的 Cloud 项目 ID。 | |
您创建的具有“管理员”角色的服务账号的电子邮件地址。如需了解详情,请参阅移动服务账号角色。 | |
OR |
车辆的随机 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 " } } EOMcat > 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 " }