本文档介绍了如何删除行程。本文假定您已设置 Fleet Engine。请参阅设置车队引擎。
行程删除基础知识
在以下情况下,系统可能会使用车队引擎删除行程:
- 在测试车队引擎 API 时执行清理操作。
- 立即删除不再需要的行程。
如需删除行程,请使用 gRPC 或 REST 发送请求。
使用项目服务账号的适当凭据,如车队引擎:服务账号角色中所述。
示例:删除行程
以下示例演示了如何在车队引擎中删除行程。
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
。