В этом документе описывается, как удалить транспортное средство. Предполагается, что вы уже настроили Fleet Engine. См. раздел «Настройка Fleet Engine» .
Основные принципы удаления транспортных средств
Ваша система может использовать Fleet Engine для удаления транспортного средства в следующих ситуациях:
- Для выполнения операций очистки во время тестирования API Fleet Engine.
- Для немедленного удаления транспортного средства, которое больше не требуется.
Для удаления транспортного средства отправьте запрос, используя gRPC или REST.
Используйте соответствующие учетные данные для служебной учетной записи вашего проекта, как описано в разделе Fleet Engine: Роли служебных учетных записей .
Пример: удалить транспортное средство
Java
В следующем примере показано, как использовать библиотеку Java gRPC для удаления транспортного средства. Полный список поддерживаемых языков см. в разделе «Клиентские библиотеки для сервисов заказа поездок по запросу» .
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String VEHICLE_ID = "vehicle-8241890";
String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);
// Delete Vehicle request
DeleteVehicleRequest deleteVehicleRequest = DeleteVehicleRequest.newBuilder()
.setName(vehicleName)
.build();
try {
vehicleService.deleteVehicle(deleteVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND: // The vehicle doesn't exist.
break;
case FAILED_PRECONDITION: // There are trip(s) that reference vehicle.
break;
case PERMISSION_DENIED:
break;
}
return;
}
ОТДЫХ
В следующем примере показано, как удалить транспортное средство из Fleet Engine с помощью REST, выполнив вызов метода DeleteVehicle .
# DELETE https://fleetengine.googleapis.com/v1/providers/<project_id>/vehicles/<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}/vehicles/${VEHICLE_ID}"
Если операция удаления прошла успешно, API возвращает пустой ответ.
Обработка ошибок
При удалении транспортного средства может возникнуть ошибка FAILED_PRECONDITION , в этом случае существуют поездки, которые ссылаются на это транспортное средство. Для продолжения удаления:
- Позвоните в
SearchTrips, чтобы найти поездки, соответствующие данному транспортному средству. - Вызовите функцию
DeleteTripдля удаления каждой найденной поездки.