本文說明如何刪除發送媒介。假設您已設定 Fleet Engine。請參閱「設定車隊引擎」。
刪除提交車輛的基本概念
在下列情況下,系統可能會使用 Fleet Engine 刪除運送車輛:
- 在測試 Fleet Engine API 時執行清理作業。
- 立即刪除不再需要的配送車輛。
如要刪除提交車輛,請使用 gRPC 或 REST 傳送要求。
請為專案的服務帳戶使用適當的憑證,如Fleet Engine:服務帳戶角色一節所述。
範例:delete delivery vehicle
以下範例說明如何使用 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;
}
以下範例說明如何透過呼叫 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
錯誤,這表示有任務參照遞送車輛。如要繼續刪除作業,請按照下列步驟操作:
- 呼叫
ListTasks
即可找出參照傳送車輛的工作。 - 呼叫
DeleteTask
即可刪除找到的每個工作。