מחיקת רכב מסירה

במסמך הזה מוסבר איך למחוק רכב מסירה. ההנחה היא שהגדרתם את Fleet Engine. הגדרת Fleet Engine

עקרונות בסיסיים למחיקה של כלי רכב למשלוח

המערכת עשויה להשתמש ב-Fleet Engine כדי למחוק רכב מסירה במצבים הבאים:

  • כדי לבצע פעולות ניקוי בזמן בדיקת ממשקי ה-API של Fleet Engine.
  • כדי למחוק באופן מיידי רכב מסירה שכבר לא נדרש.

כדי למחוק רכב מסירה, שולחים בקשה באמצעות gRPC או REST.

  • שיטת DeleteDeliveryVehicle(): gRPC או REST
  • DeleteDeliveryVehicleRequest message: gRPC בלבד

משתמשים בפרטי הכניסה המתאימים לחשבון השירות של הפרויקט, כפי שמתואר במאמר Fleet Engine: תפקידים של חשבונות שירות.

דוגמה: delete delivery vehicle

JavaREST

הדוגמה הבאה מראה איך משתמשים בספריית gRPC של Java כדי למחוק רכב להעברת חבילות.

  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 כדי למחוק כל אחת מהמשימות שנמצאו.

המאמרים הבאים