حذف خودرو تحویل

این سند نحوه حذف کردن وسیله نقلیه تحویل را شرح می‌دهد. فرض بر این است که «موتور ناوگان» را راه‌اندازی کرده‌اید. راه‌اندازی Fleet Engine را ببینید.

مبانی حذف خودرو تحویل

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

  • برای انجام عملیات پاک‌سازی هنگام آزمایش کردن Fleet Engine API.
  • برای حذف فوری «خودروِ تحویل» که دیگر موردنیاز نیست.

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

  • روش DeleteDeliveryVehicle(): gRPC یا REST
  • پیام DeleteDeliveryVehicleRequest: فقط gRPC

از اطلاعات اعتباری مناسب برای حساب سرویس پروژه خود همان‌گونه که در موتور ناوگان: نقش‌های حساب سرویس توضیح داده شده است استفاده کنید.

مثال: حذف خودرو تحویل

جاوا

مثال زیر نحوه استفاده از کتابخانه 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 مواجه شوید که دراین‌صورت، تکلیف(هایی) وجود دارد که به خودروِ تحویل ارجاع می‌دهد. برای ادامه دادن حذف:

  1. برای پیدا کردن تکلیف(هایی) که به «خودروی تحویل» ارجاع می‌دهد، با ListTasks تماس بگیرید.
  2. برای حذف هریک از تکالیف پیدا‌شده، با DeleteTask تماس بگیرید.

قدم بعدی چیست