En este documento, se describe cómo borrar un vehículo de entrega. Se supone que configuraste Fleet Engine. Consulta Configura Fleet Engine.
Conceptos básicos sobre la eliminación de vehículos de entrega
Es posible que tu sistema use Fleet Engine para borrar un vehículo de entrega en las siguientes situaciones:
- Para realizar operaciones de limpieza mientras se prueban las APIs de Fleet Engine
- Borrar de inmediato un vehículo de entrega que ya no sea necesario
Para borrar un vehículo de entrega, envía una solicitud con gRPC o REST.
Usa las credenciales adecuadas para la cuenta de servicio de tu proyecto, como se describe en Fleet Engine: Roles de la cuenta de servicio.
Ejemplo: Borra un vehículo de entrega
Java
En el siguiente ejemplo, se muestra cómo usar la biblioteca de gRPC para Java para borrar un vehículo de entrega. Para obtener una lista completa de los idiomas compatibles, consulta Bibliotecas cliente para servicios de tareas programadas.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID = "vehicle-8241890";
String deliveryVehicleName = "providers/" + PROJECT_ID + "/deliveryVehicles/" + VEHICLE_ID;
DeliveryServiceBlockingStub deliveryService = DeliveryServiceGrpc.newBlockingStub(channel);
// Delete Vehicle request
DeleteDeliveryVehicleRequest deleteDeliveryVehicleRequest =
DeleteDeliveryVehicleRequest.newBuilder().setName(deliveryVehicleName).build();
try {
deliveryService.deleteDeliveryVehicle(deleteDeliveryVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND: // The delivery vehicle doesn't exist.
break;
case FAILED_PRECONDITION: // There are tasks(s) that reference delivery vehicle.
break;
case PERMISSION_DENIED:
break;
}
return;
}
REST
En el siguiente ejemplo, se muestra cómo borrar un vehículo de entrega de Fleet Engine con REST realizando una llamada a DeleteDeliveryVehicle.
# DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles/<vehicleId>
# Set JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -X DELETE -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryvehicles/${VEHICLE_ID}"
Si la operación de eliminación se realiza de forma correcta, la API devuelve una respuesta vacía.
Soluciona errores
Cuando borras un vehículo de entrega, es posible que se produzca un error FAILED_PRECONDITION,
en cuyo caso hay tareas que hacen referencia al vehículo de entrega.
Para continuar con la eliminación, sigue estos pasos:
- Llama a
ListTaskspara encontrar las tareas que hacen referencia al vehículo de entrega. - Llama a
DeleteTaskpara borrar cada una de las tareas encontradas.