刪除運送車輛

本文說明如何刪除送貨車輛。我們假設您已設定 Fleet Engine。請參閱「設定 Fleet Engine」。

刪除送貨車輛的基本概念

在下列情況下,系統可能會使用 Fleet Engine 刪除送貨車輛:

  • 在測試 Fleet Engine API 時執行清除作業。
  • 立即刪除不再需要的送貨車輛。

如要刪除送貨車輛,請使用 gRPC 或 REST 傳送要求。

  • DeleteDeliveryVehicle() 方法:gRPCREST
  • DeleteDeliveryVehicleRequest 訊息:僅限 gRPC

請使用專案服務帳戶的適當憑證,如「Fleet Engine:服務帳戶角色」一文所述。

示例:刪除送貨車輛

Java

以下範例說明如何使用 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

以下範例說明如何使用 REST 呼叫 DeleteDeliveryVehicle,從 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 刪除找到的每個工作。

後續步驟