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

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

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

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

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

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

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