Это руководство поможет вам убедиться, что настройка авторизации Fleet Engine завершена и вы можете создать пробное транспортное средство. В этом руководстве для тестирования подписи токена авторизации и создания транспортного средства используется утилита командной строки gcloud.
Чтобы завершить этот процесс, выполните следующие действия:
- Замените поля ниже данными, которые вы создали в процессе настройки:
| Поле | Заменить на |
|---|---|
| PROJECT_ID | Идентификатор вашего облачного проекта. |
| SERVICE_ACCOUNT_EMAIL_ADDRESS | Адрес электронной почты сервисного аккаунта, созданного вами с ролью администратора. Подробную информацию можно найти в разделе Роли сервисных аккаунтов Mobility. |
VEHICLE_ID ИЛИ DELIVERY_VEHICLE_ID |
Случайный идентификатор транспортного средства. Идентификатор может содержать не более 64 символов. |
Используйте утилиту
gcloud, чтобы войти в аккаунт Google Cloud и задать активный проект на рабочей станции:gcloud auth login gcloud config set project PROJECT_IDСоздайте утверждение веб-токена JSON (JWT) для создания транспортного средства:
Поездки по запросу
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Запланированные задачи
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Используйте
gcloud, чтобы подписать этот JWT с соответствующими разрешениями IAM. :gcloud iam service-accounts sign-jwt claim.jwt output.jwt \ --iam-account=SERVICE_ACCOUNT_EMAIL_ADDRESSПодписанный JWT хранится в
output.jwt.Подробную информацию можно найти в разделах Предоставление необходимых разрешений и Руководство по командной строке
gcloudдокументации Google Cloud.Используйте
curl, чтобы создать тестовое транспортное средство в Fleet Engine:Поездки по запросу
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"}] }Эта команда должна вывести название транспортного средства. Если вы видите следующий текст, настройка выполнена успешно.
{ "name": "providers/PROJECT_ID/vehicles/VEHICLE_ID" }Запланированные задачи
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Эта команда должна вывести название транспортного средства доставки. Если вы видите следующий текст, настройка выполнена успешно.
{ "name": "providers/PROJECT_ID/deliveryVehicles/DELIVERY_VEHICLE_ID" }