يوضّح هذا المستند كيفية حذف مركبة توصيل. ويفترض أنّك أعددت 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;
}
REST
يوضّح المثال التالي كيفية حذف مركبة توصيل من 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لحذف كل مهمة تم العثور عليها.