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

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

Общие сведения об удалении поездок

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

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

Чтобы удалить поездку, отправьте запрос с помощью 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.

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