במאמר הזה מוסבר איך למחוק רכב. ההנחה היא שכבר הגדרתם את Fleet Engine. הגדרת Fleet Engine
מידע בסיסי על מחיקת רכבים
יכול להיות שהמערכת שלכם תשתמש ב-Fleet Engine כדי למחוק רכב במצבים הבאים:
- כדי לבצע פעולות ניקוי בזמן בדיקת ממשקי ה-API של Fleet Engine.
- כדי למחוק מיד רכב שכבר לא צריך.
כדי למחוק רכב, שולחים בקשה באמצעות gRPC או REST.
משתמשים בפרטי הכניסה המתאימים לחשבון השירות של הפרויקט, כמו שמתואר במאמר 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. במקרה כזה, יש נסיעות שמפנות לרכב.
כדי להמשיך במחיקה:
- מפעילים את
SearchTripsכדי למצוא נסיעות שמתייחסות לרכב. - מפעילים את
DeleteTripכדי למחוק כל אחת מהנסיעות שנמצאו.