Ten przewodnik pomoże Ci sprawdzić, czy konfiguracja autoryzacji Fleet Engine została ukończona i czy możesz utworzyć pojazd próbny. W tym przewodniku do testowania podpisywania tokena autoryzacji i tworzenia pojazdu używamy narzędzia wiersza poleceń gcloud
.
Aby to zrobić:
- W poniżej wymienionych polach wpisz dane utworzone w ramach konfiguracji:
Pole | Zastąp |
---|---|
PROJECT_ID | Identyfikator Twojego projektu Cloud. |
SERVICE_ACCOUNT_EMAIL_ADDRESS | Adres e-mail konta usługi utworzonego przez Ciebie z rolą administratora. Szczegółowe informacje znajdziesz w artykule Role kont usługi mobilności. |
VEHICLE_ID LUB DELIVERY_VEHICLE_ID |
losowy identyfikator pojazdu. Identyfikator może zawierać maksymalnie 64 znaki. |
Aby zalogować się na konto Google Cloud i ustawić aktywny projekt na stacji roboczej, użyj narzędzia
gcloud
:gcloud auth login gcloud config set project PROJECT_ID
Utwórz roszczenie tokena sieciowego JSON (JWT) na potrzeby tworzenia pojazdu:
Podróże na żądanie
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
Zaplanowane zadania
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
Aby podpisać ten token JWT za pomocą odpowiednich uprawnień, użyj
gcloud
. :gcloud iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
Podpisany token JWT jest przechowywany w
output.jwt
.Więcej informacji znajdziesz w artykule Udzielanie wymaganych uprawnień i przewodniku
gcloud
po wierszu poleceń w dokumentacji Google Cloud.Użyj polecenia
curl
, aby utworzyć pojazd testowy we Fleet Engine:Przejazdy na żądanie
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"}] }
To polecenie powinno wyświetlić nazwę pojazdu jako dane wyjściowe. Jeśli zobaczysz poniższy tekst, konfiguracja się powiodła.
{ "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID" }
Zaplanowane zadania
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
To polecenie powinno wyświetlać nazwę pojazdu dostawy jako dane wyjściowe. Jeśli zobaczysz ten tekst, oznacza to, że konfiguracja została zakończona pomyślnie.
{ "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID" }