Удалить автомобиль

В этом документе описывается, как удалить транспортное средство. Предполагается, что вы уже настроили Fleet Engine. Подробнее о том, как настроить Fleet Engine…

Основные сведения об удалении транспортных средств

Ваша система может использовать Fleet Engine для удаления транспортного средства в следующих ситуациях:

  • Выполнять очистку при тестировании Fleet Engine API.
  • Чтобы немедленно удалить транспортное средство, которое больше не требуется.

Чтобы удалить транспортное средство, отправьте запрос с помощью gRPC или REST.

  • DeleteVehicle() метод: gRPC или REST
  • Сообщение DeleteVehicleRequest: только gRPC

Используйте учетные данные, подходящие для сервисного аккаунта вашего проекта, как описано в статье 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. Это означает, что с ним связаны рейсы. Чтобы продолжить удаление:

  1. Вызовите SearchTrips, чтобы найти рейсы, связанные с транспортным средством.
  2. Чтобы удалить каждую из найденных поездок, вызовите DeleteTrip.

Дальнейшие действия