डिलीवरी के लिए इस्तेमाल होने वाले वाहन की जानकारी मिटाना

इस दस्तावेज़ में, डिलीवरी के लिए इस्तेमाल होने वाले वाहन को मिटाने का तरीका बताया गया है. इसमें यह माना जाता है कि आपने Fleet Engine सेट अप किया है. Fleet Engine सेट अप करना लेख पढ़ें.

डिलीवरी के लिए इस्तेमाल किए जाने वाले वाहन की जानकारी मिटाने से जुड़ी बुनियादी बातें

आपका सिस्टम, इन स्थितियों में डिलीवरी करने वाले वाहन को मिटाने के लिए Fleet Engine का इस्तेमाल कर सकता है:

  • Fleet Engine API की जांच करते समय, क्लीनअप ऑपरेशन करने के लिए.
  • जिस डिलीवरी वाहन की अब ज़रूरत नहीं है उसे तुरंत मिटाने के लिए.

डिलीवरी के लिए इस्तेमाल होने वाले किसी वाहन को मिटाने के लिए, gRPC या REST का इस्तेमाल करके अनुरोध भेजें.

  • DeleteDeliveryVehicle() तरीका: gRPC या REST
  • DeleteDeliveryVehicleRequest मैसेज: सिर्फ़ gRPC

अपने प्रोजेक्ट के सेवा खाते के लिए सही क्रेडेंशियल का इस्तेमाल करें. इसके बारे में Fleet Engine: सेवा खाते की भूमिकाएं लेख में बताया गया है.

उदाहरण: डिलीवरी के लिए इस्तेमाल होने वाले वाहन की जानकारी मिटाओ

Java

यहां दिए गए उदाहरण में, डिलीवरी वाहन को मिटाने के लिए 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

यहां दिए गए उदाहरण में, DeleteDeliveryVehicle को कॉल करके REST का इस्तेमाल करके, Fleet Engine से डिलीवरी वाहन को मिटाने का तरीका बताया गया है.

  # 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 गड़बड़ी का मैसेज दिख सकता है. ऐसा तब होता है, जब डिलीवरी के लिए इस्तेमाल होने वाले वाहन के लिए कोई टास्क असाइन किया गया हो. मिटाने की प्रक्रिया को आगे बढ़ाने के लिए:

  1. डिलीवरी वाहन का रेफ़रंस देने वाले टास्क ढूंढने के लिए, ListTasks पर कॉल करें.
  2. मिले हुए हर टास्क को मिटाने के लिए, DeleteTask पर कॉल करें.

आगे क्या करना है