يصف هذا المستند كيفية حذف مركبة تسليم. ويفترض أنّك أعددت Fleet Engine. يُرجى الاطّلاع على مقالة إعداد Fleet Engine.
أساسيات حذف مركبة التسليم
قد يستخدم نظامك Fleet Engine لحذف مركبة تسليم في الحالات التالية:
- لإجراء عمليات التنظيف أثناء اختبار واجهات برمجة تطبيقات Fleet Engine
- لحذف "مركبة تسليم" لم تعُد مطلوبة على الفور
لحذف مركبة تسليم، أرسِل طلبًا باستخدام gRPC أو REST.
استخدِم بيانات الاعتماد المناسبة لحساب الخدمة في مشروعك كما هو موضّح في Fleet Engine: أدوار حساب الخدمة.
مثال: حذف مركبة تسليم
جافا
يوضّح المثال التالي كيفية استخدام مكتبة Java gRPC لحذف مركبة تسليم. للاطّلاع على القائمة الكاملة باللغات المتاحة، يُرجى مراجعة مقالة مكتبات العملاء لخدمات المهام المجدولة.
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;
}
راحة
يوضّح المثال التالي كيفية حذف مركبة تسليم من Fleet Engine باستخدام REST من خلال إجراء طلب إلى 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}"
إذا نجحت عملية الحذف، تعرض واجهة برمجة التطبيقات ردًا فارغًا.
التعامل مع الأخطاء
عند حذف مركبة تسليم، قد يظهر لك الخطأ FAILED_PRECONDITION، وفي هذه الحالة، تكون هناك مهام تشير إلى مركبة التسليم.
لمتابعة عملية الحذف:
- استخدِم طريقة
ListTasksللعثور على المهام التي تشير إلى "مركبة التسليم". - استخدِم طريقة
DeleteTaskلحذف كل مهمة تم العثور عليها.