Hướng dẫn này giúp bạn xác minh rằng bạn đã hoàn tất chế độ uỷ quyền Fleet Engine và có thể tạo một chiếc 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 mà 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 Cloud. |
SERVICE_ACCOUNT_EMAIL_ADDRESS | Địa chỉ email của một tài khoản dịch vụ mà bạn đã tạo bằng vai trò Quản trị viên. Hãy xem Các 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_ID
Tạo một xác nhận quyền sở hữu JSON Web Token (JWT) để 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" } } EOM
Nhiệm vụ theo 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" } } EOM
Sử 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_ADDRESS
JWT đã 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 bắt buộc và hướng dẫn về dòng lệnh
gcloud
trong tài liệu của Google Cloud.Sử dụng
curl
để tạo một xe kiểm thử 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 đầu ra. 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ụ theo 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" } EOM
Lệnh này sẽ in tên của xe giao hàng dưới dạng đầu ra. 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" }