旅行を削除

このドキュメントでは、トリップを削除する方法について説明します。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_statusCOMPLETE/CANCELED に更新します。

次のステップ