Hướng dẫn này giúp bạn xác minh rằng quá trình thiết lập uỷ quyền cho Fleet Engine đã hoàn tất và bạn có thể tạo một xe dùng thử. Hướng dẫn này sử dụng tiện ích dòng lệnh gcloud để kiểm thử việc ký mã thông báo uỷ quyền và tạo xe.
Để hoàn tất quy trình này, hãy làm như sau:
- Thay thế các trường bên dưới bằng dữ liệu bạn đã tạo trong quá trình thiết lập:
| Trường | Thay thế bằng |
|---|---|
| PROJECT_ID | Mã dự án trên đám mây của bạn. |
| SERVICE_ACCOUNT_EMAIL_ADDRESS | Địa chỉ email của tài khoản dịch vụ mà bạn đã tạo có vai trò Quản trị viên. Hãy xem phần Vai trò của tài khoản dịch vụ di động để biết thông tin chi tiết. |
VEHICLE_ID HOẶC DELIVERY_VEHICLE_ID |
Mã nhận dạng ngẫu nhiên của xe. Mã nhận dạng có thể chứa tối đa 64 ký tự. |
Sử dụng tiện ích
gcloudđể đăng nhập vào tài khoản Google Cloud và đặt dự án đang hoạt động trên máy trạm của bạn:gcloud auth login gcloud config set project PROJECT_IDTạo thông báo xác nhận quyền sở hữu Mã thông báo web JSON (JWT) cho việc tạo xe:
Chuyến đi theo yêu cầu
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" } } EOMNhiệm vụ đã lên lịch
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" } } EOMSử dụng
gcloudđể ký JWT này bằng các quyền IAM thích hợp. :gcloud iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESSJWT đã ký được lưu trữ trong
output.jwt.Để biết thông tin chi tiết, hãy xem phần Cung cấp các quyền cần thiết và hướng dẫn về dòng lệnh
gcloudtrong tài liệu về Google Cloud.Sử dụng
curlđể tạo một xe thử nghiệm trên Fleet Engine:Chuyến đi theo yêu cầu
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"}] }Lệnh này sẽ in tên của xe dưới dạng kết quả. Nếu bạn thấy văn bản sau, tức là bạn đã thiết lập thành công.
{ "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID" }Nhiệm vụ đã lên lịch
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" } EOMLệnh này sẽ in tên của xe giao hàng dưới dạng kết quả. Nếu bạn thấy văn bản sau, tức là bạn đã thiết lập thành công.
{ "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID" }