刪除行程

本文說明如何刪除行程。我們假設您已設定 Fleet Engine。請參閱「設定 Fleet Engine」。

行程刪除基本概念

在下列情況下,系統可能會使用 Fleet Engine 刪除行程:

  • 在測試 Fleet Engine API 時執行清除作業。
  • 立即刪除不再需要的行程。

如要刪除行程,請使用 gRPC 或 REST 傳送要求。

  • DeleteTrip() 方法:gRPCREST
  • DeleteTripRequest 訊息:僅限 gRPC

請使用專案服務帳戶的適當憑證,如「Fleet Engine:服務帳戶角色」一文所述。

範例:刪除行程

以下範例說明如何在 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

後續步驟