מחיקת הרכב

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

הסרת רכב – מידע בסיסי

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

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

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

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