מחיקת הרכב

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

מידע בסיסי על מחיקת רכבים

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

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

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

  • שיטת DeleteVehicle(): ‏gRPC או REST
  • הודעת DeleteVehicleRequest: gRPC בלבד

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

דוגמה: מחיקת רכב

Java

בדוגמה הבאה מוסבר איך להשתמש בספריית 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;
  }

REST

בדוגמה הבאה מוסבר איך למחוק רכב מ-Fleet Engine באמצעות REST, על ידי שליחת קריאה ל-DeleteVehicle.

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

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