API оптимизации маршрутов предоставляет два метода:
-
OptimizeTours
— это синхронный метод, который возвращает оптимизированный маршрут в ответ наOptimizeToursRequest
. Клиенты должны поддерживать открытое соединение с API оптимизации маршрутов до тех пор, пока запрос не будет обработан и не будет возвращен ответOptimizeToursResponse
или ошибка. -
BatchOptimizeTours
— это асинхронный метод, который принимает URI для одного или несколькихOptimizeToursRequest
и соответствующих сообщенийOptimizeToursResponse
, возвращая имя ресурса длительной операции (LRO) ( REST , gRPC ), которое используется для проверки завершения пакета.OptimizeToursRequest
обрабатываются в фоновом режиме, поэтому клиенты поддерживают открытые соединения с API оптимизации маршрутов только на время, достаточное для отправкиBatchOptimizeToursRequest
или вызоваGetOperation
для проверки статуса LRO.BatchOptimizeTours
считывает запросы и записывает ответы в Google Cloud Storage .
Варианты использования
OptimizeTours
удобен для решения небольших и простых запросов или запросов, время решения которых составляет несколько минут или меньше. Поддержание долгосрочных подключений к API оптимизации маршрутов увеличивает риск прерывания работы до того, как решение будет возвращено.
BatchOptimizeTours
может обрабатывать более крупные запросы и запросы с более длительным временем решения, поскольку для него не требуется долговременное соединение с API оптимизации маршрутов.
Длительные операции
LRO считываются из API оптимизации маршрутов с помощью метода GetOperation
, чтобы проверить статус завершения пакета. LRO включают свойство done
, которое указывает, завершена ли обработка всего пакета, и поле error
, в котором сообщается об ошибках, обнаруженных во время обработки. Если done
истинно и error
нет, пакет выполнен успешно. Наличие error
указывает на то, что не удалось обработать часть или весь пакет.
Типичный жизненный цикл запроса BatchOptimizeTours
выглядит следующим образом:
- Отправьте запрос
BatchOptimizeToursRequest
в API оптимизации маршрута, который возвращает имя ресурса LRO. - Опрашивайте
GetOperation
с возвращенным именем ресурса LRO до тех пор, пока в ответе LRO не появятся свойстваdone
илиerror
. - Если
done
верно и ошибок нет, прочтитеOptimizeToursResponses
из URI Google Cloud Storage, указанных в запросеBatchOptimizeTours
. Еслиerror
присутствует, проверьте ее, соответствующим образом обновитеOptimizeToursRequest
в Google Cloud Storage и повторите попытку в зависимости от наблюдаемой ошибки.
Вы можете отправлять запросы OptimizeTours
и BatchOptimizeTours
различными способами: из командной строки или с помощью клиентской библиотеки.