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