このドキュメントでは、車両を削除する方法について説明します。Fleet Engine が設定されていることを前提としています。Fleet Engine を設定するをご覧ください。
車両の削除の基本
次の状況では、システムが Fleet Engine を使用して車両を削除することがあります。
- Fleet Engine API のテスト中にクリーンアップ オペレーションを実行する。
- 不要になった車両をすぐに削除するには、
車両を削除するには、gRPC または REST を使用してリクエストを送信します。
Fleet Engine: サービス アカウントのロールの説明に従って、プロジェクトのサービス アカウントに適切な認証情報を使用してください。
例: 車両を削除
次の例は、Java gRPC ライブラリを使用して車両を削除する方法を示しています。
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;
}
次の例は、DeleteVehicle
を呼び出して REST を使用して Fleet Engine から車両を削除する方法を示しています。
# 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
エラーが発生することがあります。この場合、車両を参照するルートがあります。削除を続行するには:
SearchTrips
を呼び出して、Vehicle を参照するルートを検索します。DeleteTrip
を呼び出して、検出された各ルートを削除します。