本文档介绍了如何删除行程。本文档假定您已设置 Fleet Engine。请参阅设置 Fleet Engine。
行程删除基础知识
在以下情况下,您的系统可能会使用 Fleet Engine 删除行程:
- 在测试 Fleet Engine API 时执行清理操作。
- 立即删除不再需要的行程。
如需删除行程,请使用 gRPC 或 REST 发送请求。
按照 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
。