Questa guida ti aiuta a verificare che la configurazione dell'autorizzazione di Fleet Engine sia completata e che tu possa creare un veicolo di prova. Questa guida utilizza
l'utilità a riga di comando gcloud
per testare
la firma del token di autorizzazione e la creazione del veicolo.
Per completare la procedura:
- Sostituisci i campi di seguito con i dati che hai creato durante la configurazione:
Campo | Sostituisci con |
---|---|
PROJECT_ID | Il tuo ID progetto Cloud. |
SERVICE_ACCOUNT_EMAIL_ADDRESS | L'indirizzo email di un account di servizio che hai creato con il ruolo Amministratore. Per maggiori dettagli, consulta Ruoli degli account di servizio per la mobilità. |
VEHICLE_ID OPPURE DELIVERY_VEHICLE_ID |
Un ID casuale per il veicolo. L'ID può contenere un massimo di 64 caratteri. |
Utilizza l'utilità
gcloud
per accedere all'account Google Cloud e impostare il progetto attivo sulla tua workstation:gcloud auth login gcloud config set project PROJECT_ID
Crea un claim JSON Web Token (JWT) per la creazione del veicolo:
Viaggi 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
Attività pianificate
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
Utilizza
gcloud
per firmare questo JWT con le autorizzazioni IAM appropriate. :gcloud iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
Il JWT firmato è archiviato in
output.jwt
.Per maggiori dettagli, vedi Fornire le autorizzazioni richieste e la guida alla riga di comando
gcloud
nella documentazione di Google Cloud.Utilizza
curl
per creare un veicolo di prova su Fleet Engine:Viaggi 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"}] }
Questo comando dovrebbe stampare il nome del veicolo come output. Se visualizzate il testo riportato di seguito, la configurazione è andata a buon fine.
{ "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID" }
Attività pianificate
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
Questo comando dovrebbe stampare il nome del veicolo di consegna come output. Se visualizzate il testo riportato di seguito, la configurazione è andata a buon fine.
{ "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID" }