Este documento descreve como excluir um veículo de entrega. Ele pressupõe que você tenha configurado o Fleet Engine. Consulte Configurar o Fleet Engine.
Noções básicas sobre a exclusão de veículos de entrega
Seu sistema pode usar o Fleet Engine para excluir um veículo de entrega nas seguintes situações:
- Para realizar operações de limpeza durante o teste das APIs do Fleet Engine.
- Para excluir imediatamente um veículo de entrega que não é mais necessário.
Para excluir um veículo de entrega, envie uma solicitação usando gRPC ou REST.
Use as credenciais apropriadas para a conta de serviço do seu projeto, conforme descrito em Fleet Engine: papéis da conta de serviço.
Exemplo: excluir veículo de entrega
Java
O exemplo a seguir mostra como usar a biblioteca Java gRPC para excluir um veículo de entrega. Para conferir uma lista completa de idiomas com suporte, consulte Bibliotecas de cliente para serviços de tarefas 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
O exemplo a seguir mostra como excluir um veículo de entrega do Fleet Engine usando REST, fazendo uma chamada para 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}"
Se a operação de exclusão for bem-sucedida, a API vai retornar uma resposta vazia.
Solucionar erros
Ao excluir um veículo de entrega, você pode encontrar um erro FAILED_PRECONDITION, em que há tarefas que fazem referência ao veículo de entrega.
Para continuar com a exclusão:
- Chame
ListTaskspara encontrar tarefas que fazem referência ao veículo de entrega. - Chame
DeleteTaskpara excluir cada uma das tarefas encontradas.