Удалить поездку

В этом документе описывается, как удалить поездку. Предполагается, что вы настроили Fleet Engine. См. раздел «Настройка Fleet Engine» .

Основные принципы удаления поездок

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

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

Для удаления поездки отправьте запрос, используя gRPC или REST.

  • Метод DeleteTrip() : gRPC или REST
  • Сообщение DeleteTripRequest : только для gRPC

Используйте соответствующие учетные данные для служебной учетной записи вашего проекта, как описано в разделе Fleet Engine: Роли служебных учетных записей .

Пример: удалить поездку

Следующий пример демонстрирует, как удалить поездку в Fleet Engine.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-8241890";

String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;

TripServiceBlockingStub tripService = TripServiceGrpc.newBlockingStub(channel);

// Delete trip request.
DeleteTripRequest deleteTripRequest = DeleteTripRequest.newBuilder()
    .setName(tripName)
    .build();

// Error handling.
try {
  tripService.deleteTrip(deleteTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:            // The trip doesn't exist.
      break;
    case FAILED_PRECONDITION:  // Trip is active and assigned to a vehicle.
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

Обработка ошибок

При удалении поездки может возникнуть ошибка FAILED_PRECONDITION , в этом случае поездка будет активной и назначена транспортному средству.
Для продолжения удаления вызовите функцию UpdateTrip и измените значение trip_status на COMPLETE / CANCELED .

Что дальше?