Menghapus kendaraan pengiriman

Dokumen ini menjelaskan cara menghapus kendaraan pengiriman. Ini mengasumsikan bahwa 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

JavaREST

Contoh berikut menunjukkan cara menggunakan library gRPC Java untuk menghapus kendaraan pengiriman.

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

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 berarti ada tugas yang mereferensikan kendaraan pengiriman. Untuk melanjutkan penghapusan:

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

Langkah berikutnya