В этом документе описывается, как удалить транспортное средство. Предполагается, что вы уже настроили Fleet Engine. Подробнее о том, как настроить Fleet Engine…
Основные сведения об удалении транспортных средств
Ваша система может использовать Fleet Engine для удаления транспортного средства в следующих ситуациях:
- Выполнять очистку при тестировании Fleet Engine API.
- Чтобы немедленно удалить транспортное средство, которое больше не требуется.
Чтобы удалить транспортное средство, отправьте запрос с помощью gRPC или REST.
Используйте учетные данные, подходящие для сервисного аккаунта вашего проекта, как описано в статье Fleet Engine: роли сервисных аккаунтов.
Пример: удалить автомобиль
Java
В примере ниже показано, как удалить транспортное средство с помощью библиотеки gRPC для Java. Полный список поддерживаемых языков можно найти в статье Клиентские библиотеки для сервисов поездок по запросу.
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String VEHICLE_ID = "vehicle-8241890";
String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);
// Delete Vehicle request
DeleteVehicleRequest deleteVehicleRequest = DeleteVehicleRequest.newBuilder()
.setName(vehicleName)
.build();
try {
vehicleService.deleteVehicle(deleteVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND: // The vehicle doesn't exist.
break;
case FAILED_PRECONDITION: // There are trip(s) that reference vehicle.
break;
case PERMISSION_DENIED:
break;
}
return;
}
REST
В примере ниже показано, как удалить транспортное средство из Fleet Engine с помощью REST, вызвав DeleteVehicle.
# DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/vehicles/<vehicleId>
# Set JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -X DELETE -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/vehicles/${VEHICLE_ID}"
Если операция удаления выполнена успешно, API возвращает пустой ответ.
Обработка ошибок
При удалении транспортного средства может возникнуть ошибка FAILED_PRECONDITION. Это означает, что с ним связаны рейсы.
Чтобы продолжить удаление:
- Вызовите
SearchTrips, чтобы найти рейсы, связанные с транспортным средством. - Чтобы удалить каждую из найденных поездок, вызовите
DeleteTrip.