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

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

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

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

  • כדי לבצע פעולות ניקוי בזמן בדיקת ממשקי ה-API של 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}"

אם פעולת המחיקה בוצעה ללא שגיאות, ה-API מחזיר תגובה ריקה.

טיפול בשגיאות

כשמוחקים רכב משלוחים, יכול להיות שתיתקלו בשגיאה FAILED_PRECONDITION שמציינת שיש משימות שמפנות לרכב המשלוחים. כדי להמשיך במחיקה:

  1. כדי למצוא משימות שמפנות לרכב המסירה, קוראים לפונקציה ListTasks.
  2. מתקשרים אל DeleteTask כדי למחוק כל אחת מהמשימות שנמצאו.

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