このドキュメントでは、ルートを削除する方法について説明します。Fleet Engine が設定されていることを前提としています。Fleet Engine を設定するをご覧ください。
ルートの削除の基本
次の状況では、システムが Fleet Engine を使用してルートを削除することがあります。
- Fleet Engine API のテスト中にクリーンアップ オペレーションを実行する。
- 不要になったルートをすぐに削除するには、
ルートを削除するには、gRPC または REST を使用してリクエストを送信します。
Fleet Engine: サービス アカウントのロールの説明に従って、プロジェクトのサービス アカウントに適切な認証情報を使用してください。
例: delete trip
次の例は、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
に更新します。