حذف مركبة التسليم

يوضّح هذا المستند كيفية حذف مركبة تسليم. ويفترض هذا الدليل أنّك أعددت Fleet Engine. راجِع مقالة إعداد Fleet Engine.

أساسيات حذف مركبة التسليم

قد يستخدم نظامك Fleet Engine لحذف مركبة توصيل في الحالات التالية:

  • لإجراء عمليات تنظيف أثناء اختبار واجهات برمجة التطبيقات Fleet Engine
  • لحذف "مركبة توصيل" على الفور لم تعُد مطلوبة

لحذف مركبة توصيل، أرسِل طلبًا باستخدام gRPC أو REST.

  • طريقة DeleteDeliveryVehicle(): gRPC أو REST
  • رسالة DeleteDeliveryVehicleRequest: gRPC فقط

استخدِم بيانات الاعتماد المناسبة لحساب الخدمة الخاص بمشروعك كما هو موضّح في Fleet Engine: أدوار حساب الخدمة.

مثال: حذف مركبة التسليم

Java

يوضّح المثال التالي كيفية استخدام مكتبة 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;
  }

REST

يوضّح المثال التالي كيفية حذف مركبة توصيل من 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}"

في حال نجاح عملية الحذف، تعرض واجهة برمجة التطبيقات استجابة فارغة.

معالجة الأخطاء

عند حذف مركبة توصيل، قد تواجه خطأ FAILED_PRECONDITION، وفي هذه الحالة تكون هناك مهام تشير إلى مركبة التوصيل. لإكمال عملية الحذف، اتّبِع الخطوات التالية:

  1. اتّصِل بالرقم ListTasks للعثور على المهام التي تشير إلى "مركبة التوصيل".
  2. اتّصِل بالرقم DeleteTask لحذف كل مهمة تم العثور عليها.

الخطوات التالية