Eliminare il veicolo di consegna

Questo documento descrive come eliminare un veicolo di consegna. Presuppone che tu abbia configurato Fleet Engine. Vedi Configurare Fleet Engine.

Nozioni di base sull'eliminazione dei veicoli di consegna

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

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

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

  • Metodo DeleteDeliveryVehicle(): gRPC o REST
  • Messaggio DeleteDeliveryVehicleRequest: gRPC solo

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

Esempio: elimina il veicolo di consegna

Java

L'esempio seguente mostra come utilizzare la libreria Java gRPC per eliminare un veicolo di consegna. Per un elenco completo delle lingue supportate, vedi Librerie client per i servizi di attività pianificate.

  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

L'esempio seguente mostra come eliminare un veicolo di consegna da Fleet Engine utilizzando REST effettuando una chiamata 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}"

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

Gestisci gli errori

Quando elimini un veicolo di consegna, potresti riscontrare un errore FAILED_PRECONDITION, nel qual caso sono presenti attività che fanno riferimento al veicolo di consegna. Per procedere con l'eliminazione:

  1. Chiama ListTasks per trovare le attività che fanno riferimento al veicolo di consegna.
  2. Chiama DeleteTask per eliminare ogni attività trovata.

Passaggi successivi