وسیله نقلیه تحویل را حذف کنید

این سند نحوه حذف یک وسیله نقلیه تحویل را شرح می‌دهد. فرض بر این است که شما موتور ناوگان را تنظیم کرده‌اید. به بخش تنظیم موتور ناوگان مراجعه کنید.

اصول اولیه حذف وسیله نقلیه تحویل

سیستم شما ممکن است در شرایط زیر از Fleet Engine برای حذف وسیله نقلیه تحویل کالا استفاده کند:

  • برای انجام عملیات پاکسازی هنگام آزمایش APIهای موتور ناوگان.
  • برای حذف فوری وسیله نقلیه تحویل که دیگر نیازی به آن نیست.

برای حذف یک وسیله نقلیه تحویل، درخواستی را با استفاده از gRPC یا REST ارسال کنید.

  • متد DeleteDeliveryVehicle() : gRPC یا REST
  • پیام DeleteDeliveryVehicleRequest : فقط gRPC

از اعتبارنامه‌های مناسب برای حساب سرویس پروژه خود، همانطور که در Fleet Engine: Service account roles توضیح داده شده است، استفاده کنید.

مثال: حذف وسیله نقلیه تحویل

جاوا

مثال زیر نحوه استفاده از کتابخانه جاوا 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;
  }

استراحت

مثال زیر نحوه حذف یک وسیله نقلیه تحویل از Fleet Engine با استفاده از REST را با فراخوانی DeleteDeliveryVehicle نشان می‌دهد.

  # 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 فراخوانی کنید.

قدم بعدی چیست؟