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

این سند نحوه حذف وسیله نقلیه تحویلی را توضیح می دهد. فرض می کند که Fleet Engine را راه اندازی کرده اید. به تنظیم موتور ناوگان مراجعه کنید.

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

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

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

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

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

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

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

مثال زیر نحوه استفاده از کتابخانه 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 تماس بگیرید تا هر یک از وظایف پیدا شده را حذف کنید.

بعدش چی