Teslimat aracını silme

Bu belgede, teslimat araçlarının nasıl silineceği açıklanmaktadır. Fleet Engine'i 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ı için 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, teslimat aracına başvuran görev(ler) olduğu için FAILED_PRECONDITION hatasıyla karşılaşabilirsiniz. Silme işlemine devam etmek için:

  1. Teslimat Aracına atıfta bulunan görevi/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?