Usuwanie pojazdu dostawczego

Z tego artykułu dowiesz się, jak usunąć pojazd dostawczy. Zakłada się, że masz skonfigurowany Fleet Engine. Zobacz Konfigurowanie Fleet Engine.

Podstawowe informacje o usuwaniu pojazdów dostawczych

System może używać Fleet Engine do usuwania pojazdu dostawczego w tych sytuacjach:

  • Aby podczas testowania interfejsów Fleet Engine API przeprowadzać operacje czyszczenia.
  • Aby natychmiast usunąć pojazd dostawczy, który nie jest już potrzebny.

Aby usunąć pojazd dostawczy, wyślij żądanie za pomocą gRPC lub REST.

  • DeleteDeliveryVehicle() metoda: gRPC lub REST
  • DeleteDeliveryVehicleRequest wiadomość: tylko gRPC

Użyj odpowiednich danych logowania konta usługi w projekcie zgodnie z opisem w artykule Fleet Engine: role konta usługi.

Przykład: usuwanie pojazdu dostawczego

Java

Z przykładu poniżej dowiesz się, jak usunąć pojazd dostawczy za pomocą biblioteki gRPC w języku Java.

  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

Poniższy przykład pokazuje, jak usunąć pojazd dostawczy z Fleet Engine za pomocą interfejsu REST, wywołując 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}"

Jeśli operacja usuwania się powiedzie, interfejs API zwróci pustą odpowiedź.

Obsługuj błędy

Podczas usuwania pojazdu dostawczego może wystąpić błąd FAILED_PRECONDITION, co oznacza, że istnieją zadania, które odwołują się do tego pojazdu. Aby usunąć konto:

  1. Zadzwoń pod numer ListTasks, aby znaleźć zadania, które odwołują się do pojazdu dostawczego.
  2. Wywołaj funkcję DeleteTask, aby usunąć każde znalezione zadanie.

Co dalej?