배송 차량 삭제

이 문서에서는 배송 차량을 삭제하는 방법을 설명합니다. Fleet Engine을 설정했다고 가정합니다. Fleet Engine 설정을 참고하세요.

배송 차량 삭제 기본사항

다음과 같은 경우 시스템에서 Fleet Engine을 사용하여 배송 차량을 삭제할 수 있습니다.

  • Fleet Engine API를 테스트하는 동안 정리 작업을 실행합니다.
  • 더 이상 필요하지 않은 배송 차량을 즉시 삭제합니다.

배송 차량을 삭제하려면 gRPC 또는 REST를 사용하여 요청을 보냅니다.

  • DeleteDeliveryVehicle() 메서드: gRPC 또는 REST
  • DeleteDeliveryVehicleRequest 메시지: gRPC만 해당

Fleet Engine: 서비스 계정 역할에 설명된 대로 프로젝트의 서비스 계정에 적절한 사용자 인증 정보를 사용합니다.

예: 배송 차량 삭제

자바

다음 예에서는 Java gRPC 라이브러리를 사용하여 배송 차량을 삭제하는 방법을 보여줍니다.

  static final String PROJECT_ID = "my-rideshare-co-gcp-project";
  static final String VEHICLE_ID = "vehicle-8241890";

  String deliveryVehicleName = "providers/" + PROJECT_ID + "/deliveryVehicles/" + VEHICLE_ID;

  DeliveryServiceBlockingStub deliveryService = DeliveryServiceGrpc.newBlockingStub(channel);

  // Delete Vehicle request
  DeleteDeliveryVehicleRequest deleteDeliveryVehicleRequest =
      DeleteDeliveryVehicleRequest.newBuilder().setName(deliveryVehicleName).build();

  try {
    deliveryService.deleteDeliveryVehicle(deleteDeliveryVehicleRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
       case NOT_FOUND:            // The delivery vehicle doesn't exist.
         break;
       case FAILED_PRECONDITION:  // There are tasks(s) that reference delivery vehicle.
         break;
       case PERMISSION_DENIED:
         break;
    }
    return;
  }

REST

다음 예는 DeleteDeliveryVehicle를 호출하여 REST를 사용하여 Fleet Engine에서 배송 차량을 삭제하는 방법을 보여줍니다.

  # DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles/<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}/deliveryvehicles/${VEHICLE_ID}"

삭제 작업이 성공하면 API가 빈 응답을 반환합니다.

오류 처리

배송 차량을 삭제할 때 FAILED_PRECONDITION 오류가 발생할 수 있습니다. 이 경우 배송 차량을 참조하는 작업이 있는 것입니다. 삭제를 진행하려면 다음 단계를 따르세요.

  1. ListTasks를 호출하여 전송 차량을 참조하는 작업을 찾습니다.
  2. DeleteTask를 호출하여 찾은 각 태스크를 삭제합니다.

다음 단계