Panduan ini membantu Anda memverifikasi bahwa penyiapan otorisasi Fleet Engine telah
selesai, dan Anda dapat membuat kendaraan uji coba. Panduan ini menggunakan
utilitas command line gcloud
untuk menguji
penandatanganan token otorisasi dan pembuatan kendaraan.
Untuk menyelesaikan proses ini, lakukan tindakan berikut:
- Ganti kolom di bawah dengan data yang Anda buat sebagai bagian dari penyiapan:
Kolom | Ganti dengan |
---|---|
PROJECT_ID | Project ID Cloud Anda. |
SERVICE_ACCOUNT_EMAIL_ADDRESS | Alamat email akun layanan yang telah Anda buat dengan peran Admin. Lihat Peran akun layanan mobilitas untuk mengetahui detailnya. |
VEHICLE_ID ATAU DELIVERY_VEHICLE_ID |
ID acak untuk kendaraan. ID dapat berisi maksimal 64 karakter. |
Gunakan utilitas
gcloud
untuk login ke akun Google Cloud dan menetapkan project aktif di workstation Anda:gcloud auth login gcloud config set project PROJECT_ID
Buat klaim Token Web JSON (JWT) untuk pembuatan kendaraan:
Perjalanan on-demand
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
Tugas terjadwal
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
Gunakan
gcloud
untuk menandatangani JWT ini dengan izin IAM yang sesuai. :gcloud iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
JWT yang ditandatangani disimpan di
output.jwt
.Untuk mengetahui detailnya, lihat Memberikan izin yang diperlukan dan panduan command line
gcloud
dalam dokumentasi Google Cloud.Gunakan
curl
untuk membuat kendaraan pengujian di Fleet Engine:Perjalanan on-demand
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"}] }
Perintah ini akan mencetak nama kendaraan sebagai output. Jika Anda melihat teks berikut, penyiapan Anda berhasil.
{ "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID" }
Tugas terjadwal
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
Perintah ini akan mencetak nama kendaraan pengiriman sebagai output. Jika Anda melihat teks berikut, penyiapan Anda berhasil.
{ "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID" }