במאמר הזה מוסבר איך למחוק כלי רכב למשלוחים. ההנחה היא שהגדרתם את Fleet Engine. הגדרת Fleet Engine
עקרונות בסיסיים למחיקת כלי רכב למשלוחים
יכול להיות שהמערכת שלכם תשתמש ב-Fleet Engine כדי למחוק רכב למשלוחים במצבים הבאים:
- כדי לבצע פעולות ניקוי במהלך בדיקת ממשקי Fleet Engine API.
- כדי למחוק באופן מיידי כלי רכב למשלוחים שכבר לא נדרש.
כדי למחוק רכב משלוחים, שולחים בקשה באמצעות gRPC או REST.
משתמשים בפרטי הכניסה המתאימים לחשבון השירות של הפרויקט, כפי שמתואר במאמר Fleet Engine: תפקידים בחשבון השירות.
דוגמה: מחיקת רכב משלוחים
Java
בדוגמה הבאה מוצג אופן השימוש בספריית Java gRPC כדי למחוק כלי רכב למשלוחים. הרשימה המלאה של השפות הנתמכות מופיעה במאמר ספריות לקוח לשירותים של משימות מתוזמנות.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID = "vehicle-8241890";
String deliveryVehicleName = "providers/" + PROJECT_ID + "/deliveryVehicles/" + VEHICLE_ID;
DeliveryServiceBlockingStub deliveryService = DeliveryServiceGrpc.newBlockingStub(channel);
// Delete Vehicle request
DeleteDeliveryVehicleRequest deleteDeliveryVehicleRequest =
DeleteDeliveryVehicleRequest.newBuilder().setName(deliveryVehicleName).build();
try {
deliveryService.deleteDeliveryVehicle(deleteDeliveryVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND: // The delivery vehicle doesn't exist.
break;
case FAILED_PRECONDITION: // There are tasks(s) that reference delivery vehicle.
break;
case PERMISSION_DENIED:
break;
}
return;
}
REST
בדוגמה הבאה מוצג איך למחוק רכב משלוחים מ-Fleet Engine באמצעות REST על ידי ביצוע קריאה ל-DeleteDeliveryVehicle.
# DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles/<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}/deliveryvehicles/${VEHICLE_ID}"
אם פעולת המחיקה בוצעה ללא שגיאות, ה-API מחזיר תגובה ריקה.
טיפול בשגיאות
כשמוחקים רכב משלוחים, יכול להיות שתיתקלו בשגיאה FAILED_PRECONDITION
שמציינת שיש משימות שמפנות לרכב המשלוחים.
כדי להמשיך במחיקה:
- כדי למצוא משימות שמפנות לרכב המסירה, קוראים לפונקציה
ListTasks. - מתקשרים אל
DeleteTaskכדי למחוק כל אחת מהמשימות שנמצאו.