حذف خودرو

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

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

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

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

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

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

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

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

جاوا

مثال زیر نحوه استفاده از کتابخانه Java gRPC را برای حذف کردن خودرو نشان می‌دهد. برای مشاهده فهرست کامل زبان‌های پشتیبانی‌شده، به کتابخانه‌های مشتری برای خدمات سفر درخواستی مراجعه کنید.

  static final String PROJECT_ID = "my-delivery-co-gcp-project";
  static final String VEHICLE_ID = "vehicle-8241890";

  String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;

  VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);

  // Delete Vehicle request
  DeleteVehicleRequest deleteVehicleRequest = DeleteVehicleRequest.newBuilder()
      .setName(vehicleName)
      .build();

  try {
    vehicleService.deleteVehicle(deleteVehicleRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
       case NOT_FOUND:            // The vehicle doesn't exist.
         break;
       case FAILED_PRECONDITION:  // There are trip(s) that reference vehicle.
         break;
       case PERMISSION_DENIED:
         break;
    }
    return;
  }

استراحت

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

  # DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/vehicles/<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}/vehicles/${VEHICLE_ID}"

اگر عملیات حذف موفقیت‌آمیز باشد، API پاسخ خالی برمی‌گرداند.

مدیریت کردن خطاها

هنگام حذف خودرو، ممکن است با خطای FAILED_PRECONDITION مواجه شوید که دراین‌صورت سفر(هایی) وجود دارد که به خودرو ارجاع می‌دهد. برای ادامه دادن حذف:

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

قدم بعدی چیست