Usuwanie pojazdu dostawczego

Z tego dokumentu dowiesz się, jak usunąć pojazd dostawczy. Zakładamy, że masz skonfigurowany mechanizm floty. Zobacz Konfigurowanie Fleet Engine.

Podstawowe informacje o usunięciu pojazdu dostawczego

Twój system może użyć narzędzia Fleet Engine do usunięcia pojazdu dostawczego w tych sytuacjach:

  • Aby wykonywać operacje czyszczenia podczas testowania interfejsów API Fleet Engine.
  • Aby natychmiast usunąć pojazd dostawczy, którego już nie potrzebujesz.

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

  • metoda DeleteDeliveryVehicle(): gRPC lub REST
  • DeleteDeliveryVehicleRequest komunikat: dotyczy tylko gRPC

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

Przykład: usuwanie pojazdu dostawczego

JavaREST

Z tego przykładu dowiesz się, jak za pomocą biblioteki Java gRPC usunąć pojazd dostawczy.

  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;
  }

Ten przykład pokazuje, jak usunąć pojazd dostawczy z Fleet Engine za pomocą interfejsu REST, wykonując wywołanie 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 usunięcia się powiedzie, interfejs API zwróci pustą odpowiedź.

Obsługuj błędy

Podczas usuwania pojazdu dostawczego może wystąpić błąd FAILED_PRECONDITION, ponieważ 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ąć znalezione zadania.

Co dalej?