删除行程

本文档介绍了如何删除行程。本文档假定您已设置 Fleet Engine。请参阅设置 Fleet Engine

行程删除基础知识

在以下情况下,您的系统可能会使用 Fleet Engine 删除行程:

  • 在测试 Fleet Engine API 时执行清理操作。
  • 立即删除不再需要的行程。

如需删除行程,请使用 gRPC 或 REST 发送请求。

  • DeleteTrip() 方法:gRPCREST
  • DeleteTripRequest message:仅限 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

后续步骤