מחיקת הנסיעה

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

מידע בסיסי על מחיקת נסיעות

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

  • כדי לבצע פעולות ניקוי בזמן בדיקת ממשקי ה-API של Fleet Engine.
  • כדי למחוק מיד נסיעה שכבר לא נדרשת.

כדי למחוק נסיעה, שולחים בקשה באמצעות gRPC או REST.

  • שיטת DeleteTrip(): gRPC או REST
  • DeleteTripRequest message: gRPC בלבד

משתמשים בפרטי הכניסה המתאימים לחשבון השירות של הפרויקט, כפי שמתואר במאמר Fleet Engine: תפקידים של חשבונות שירות.

דוגמה: delete trip

הדוגמה הבאה ממחישה איך מוחקים נסיעה ב-Fleet Engine.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-8241890";

String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;

TripServiceBlockingStub tripService = TripServiceGrpc.newBlockingStub(channel);

// Delete trip request.
DeleteTripRequest deleteTripRequest = DeleteTripRequest.newBuilder()
    .setName(tripName)
    .build();

// Error handling.
try {
  tripService.deleteTrip(deleteTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:            // The trip doesn't exist.
      break;
    case FAILED_PRECONDITION:  // Trip is active and assigned to a vehicle.
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

טיפול בשגיאות

כשמוחקים נסיעה, יכול להיות שתופיע הודעת השגיאה FAILED_PRECONDITION. במקרה כזה, הנסיעה פעילה וקושרת לרכב.
כדי להמשיך במחיקה, צריך להתקשר למספר UpdateTrip ולעדכן את trip_status ל-COMPLETE/CANCELED.

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