删除行程

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

行程删除基础知识

在以下情况下,系统可能会使用车队引擎删除行程:

  • 在测试车队引擎 API 时执行清理操作。
  • 立即删除不再需要的行程。

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

  • DeleteTrip() 方法:gRPCREST
  • DeleteTripRequest 消息:仅限 gRPC

使用项目服务账号的适当凭据,如车队引擎:服务账号角色中所述。

示例:删除行程

以下示例演示了如何在车队引擎中删除行程。

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

后续步骤