Teslimat aracını silme

Bu dokümanda, teslimat aracının nasıl silineceği açıklanmaktadır. Filo Motoru'nu ayarlamış olmanız gerekir. Fleet Engine'i ayarlama başlıklı makaleyi inceleyin.

Yayın aracı silmeyle ilgili temel bilgiler

Sisteminiz, aşağıdaki durumlarda bir teslimat aracını silmek için Fleet Engine'ı kullanabilir:

  • Fleet Engine API'lerini test ederken temizleme işlemleri gerçekleştirmek için.
  • Artık gerekli olmayan bir yayın aracını hemen silmek için.

Bir teslimat aracını silmek için gRPC veya REST kullanarak istek gönderin.

  • DeleteDeliveryVehicle() yöntemi: gRPC veya REST
  • DeleteDeliveryVehicleRequest mesajı: Yalnızca gRPC

Fleet Engine: Hizmet hesabı rolleri bölümünde açıklandığı gibi, projenizin hizmet hesabı için uygun kimlik bilgilerini kullanın.

Örnek: delete delivery vehicle

JavaREST

Aşağıdaki örnekte, bir yayın aracını silmek için Java gRPC kitaplığının nasıl kullanılacağı gösterilmektedir.

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

Aşağıdaki örnekte, DeleteDeliveryVehicle adresine çağrı yaparak REST kullanılarak bir teslimat aracının Fleet Engine'den nasıl silineceği gösterilmektedir.

  # 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}"

Silme işlemi başarılı olursa API boş bir yanıt döndürür.

Hataları işleme

Bir teslimat aracını silerken FAILED_PRECONDITIONhatasıyla karşılaşabilirsiniz. Bu durumda, teslimat aracına referans veren görevler vardır. Silme işlemine devam etmek için:

  1. Teslimat aracına atıfta bulunan görevleri bulmak için ListTasks arayın.
  2. Bulunan görevlerin her birini silmek için DeleteTask'ü arayın.

Sırada ne var?