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