Elimina veicolo

Questo documento descrive come eliminare un veicolo. Si presume che tu abbia configurato Fleet Engine. Vedi Configurare Fleet Engine.

Nozioni di base sull'eliminazione dei veicoli

Il sistema potrebbe utilizzare Fleet Engine per eliminare un veicolo nelle seguenti situazioni:

  • Per eseguire operazioni di pulizia durante il test delle API Fleet Engine.
  • Per eliminare immediatamente un veicolo che non è più necessario.

Per eliminare un veicolo, invia una richiesta utilizzando gRPC o REST.

  • Metodo DeleteVehicle(): gRPC o REST
  • DeleteVehicleRequest message: solo gRPC

Utilizza le credenziali appropriate per l'account di servizio del tuo progetto come descritto in Fleet Engine: ruoli dell'account di servizio.

Esempio: elimina veicolo

JavaREST

L'esempio seguente mostra come utilizzare la libreria gRPC Java per eliminare un veicolo.

  static final String PROJECT_ID = "my-delivery-co-gcp-project";
  static final String VEHICLE_ID = "vehicle-8241890";

  String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;

  VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);

  // Delete Vehicle request
  DeleteVehicleRequest deleteVehicleRequest = DeleteVehicleRequest.newBuilder()
      .setName(vehicleName)
      .build();

  try {
    vehicleService.deleteVehicle(deleteVehicleRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
       case NOT_FOUND:            // The vehicle doesn't exist.
         break;
       case FAILED_PRECONDITION:  // There are trip(s) that reference vehicle.
         break;
       case PERMISSION_DENIED:
         break;
    }
    return;
  }

L'esempio seguente mostra come eliminare un veicolo da Fleet Engine utilizzando REST facendo una chiamata a DeleteVehicle.

  # DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/vehicles/<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}/vehicles/${VEHICLE_ID}"

Se l'operazione di eliminazione ha esito positivo, l'API restituisce una risposta vuota.

Gestisci gli errori

Quando elimini un veicolo, potresti riscontrare un errore FAILED_PRECONDITION, nel qual caso sono presenti uno o più viaggi che fanno riferimento al veicolo. Per procedere con l'eliminazione:

  1. Chiama SearchTrips per trovare le corse che fanno riferimento al veicolo.
  2. Chiama DeleteTrip per eliminare ogni viaggio trovato.

Passaggi successivi