Menghapus kendaraan pengiriman

Dokumen ini menjelaskan cara menghapus kendaraan pengiriman. Panduan ini mengasumsikan Anda telah menyiapkan Fleet Engine. Lihat Menyiapkan Fleet Engine.

Dasar-dasar penghapusan kendaraan pengiriman

Sistem Anda dapat menggunakan Fleet Engine untuk menghapus kendaraan pengiriman dalam situasi berikut:

  • Untuk melakukan operasi pembersihan saat menguji Fleet Engine API.
  • Untuk segera menghapus Kendaraan Pengiriman yang tidak lagi diperlukan.

Untuk menghapus kendaraan pengiriman, kirim permintaan menggunakan gRPC atau REST.

  • Metode DeleteDeliveryVehicle(): gRPC atau REST
  • Pesan DeleteDeliveryVehicleRequest: Khusus gRPC

Gunakan kredensial yang sesuai untuk akun layanan project Anda seperti yang dijelaskan dalam Fleet Engine: Peran akun layanan.

Contoh: hapus kendaraan pengiriman

Java

Contoh berikut menunjukkan cara menggunakan library gRPC Java untuk menghapus kendaraan pengiriman. Untuk mengetahui daftar lengkap bahasa yang didukung, lihat Library klien untuk layanan tugas terjadwal.

  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

Contoh berikut menunjukkan cara menghapus kendaraan pengiriman dari Fleet Engine menggunakan REST dengan melakukan panggilan ke 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}"

Jika operasi penghapusan berhasil, API akan menampilkan respons kosong.

Menangani error

Saat menghapus kendaraan pengiriman, Anda mungkin mengalami error FAILED_PRECONDITION, yang dalam hal ini berarti ada tugas yang mereferensikan kendaraan pengiriman tersebut. Untuk melanjutkan penghapusan:

  1. Panggil ListTasks untuk menemukan tugas yang mereferensikan Kendaraan Pengiriman.
  2. Panggil DeleteTask untuk menghapus setiap tugas yang ditemukan.

Langkah berikutnya