Teslimat aracını silme

Bu belgede, teslimat araçlarının nasıl silineceği açıklanmaktadır. Filo Motoru'nu ayarladığınız varsayılır. Fleet Engine'i ayarlama başlıklı makaleyi inceleyin.

Teslimat aracı silmeyle ilgili temel bilgiler

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

  • Fleet Engine API'lerini test ederken temizleme işlemleri gerçekleştirmek için.
  • Artık gerekli olmayan bir Teslimat 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ıyla ilgili uygun kimlik bilgilerini kullanın.

Örnek: Teslimat aracını silme

Java

Aşağıdaki örnekte, bir teslimat 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;
  }

REST

Aşağıdaki örnekte, DeleteDeliveryVehicle çağrısı yapılarak 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_PRECONDITION hatası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 referans veren görevleri bulmak için ListTasks numaralı telefonu arayın.
  2. Bulunan görevlerin her birini silmek için DeleteTask numaralı telefonu arayın.

Sırada ne var?