Interfejs Route Optimization API udostępnia 2 metody:
OptimizeTours
to metoda synchroniczna, która zwraca zoptymalizowaną trasę w odpowiedzi naOptimizeToursRequest
. Klienci muszą utrzymywać otwarte połączenie z interfejsem Route Optimization API, dopóki żądanie nie zostanie przetworzone i nie zostanie zwrócona wartośćOptimizeToursResponse
lub błąd.BatchOptimizeTours
to metoda asynchroniczna, która akceptuje identyfikatory URI co najmniej 1OptimizeToursRequest
i odpowiadające im wiadomościOptimizeToursResponse
, a zwraca nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która służy do sprawdzania zakończenia przetwarzania wsadowego.OptimizeToursRequest
są przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko na czas przesyłaniaBatchOptimizeToursRequest
lub wywoływaniaGetOperation
w celu sprawdzenia stanu LRO.BatchOptimizeTours
odczytuje żądania i zapisuje odpowiedzi w Google Cloud Storage.
Przypadki użycia
OptimizeTours
jest wygodny w przypadku rozwiązywania małych i prostych problemów lub żądań, których rozwiązanie zajmuje kilka minut lub mniej. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerwania połączenia, zanim zostanie zwrócone rozwiązanie.
BatchOptimizeTours
może obsługiwać większe żądania i żądania z dłuższym czasem rozwiązywania, ponieważ nie wymaga długotrwałego połączenia z interfejsem Route Optimization API.
Długo trwające operacje
Długotrwałe operacje są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation
, aby sprawdzić stan ukończenia partii. Obiekty LRO zawierają właściwość done
, która wskazuje, czy przetwarzanie całego pakietu zostało zakończone, oraz pole error
, które zawiera informacje o błędach napotkanych podczas przetwarzania. Jeśli wartość done
to „true” i nie ma parametru error
, oznacza to, że partia została przetworzona. Obecność znakuerror
oznacza, że przetwarzanie niektórych lub wszystkich elementów w partii nie powiodło się.
Typowy cykl życia żądania BatchOptimizeTours
wygląda tak:
- Prześlij
BatchOptimizeToursRequest
do interfejsu Route Optimization API, który zwraca nazwę zasobu LRO. - Wyślij zapytanie do interfejsu
GetOperation
z zwróconą nazwą zasobu LRO, dopóki w odpowiedzi LRO nie pojawią się właściwościdone
luberror
. - Jeśli
done
ma wartość true i nie występuje żaden błąd, odczytajOptimizeToursResponses
z adresów URI Google Cloud Storage podanych w żądaniuBatchOptimizeTours
. Jeśli występuje znakerror
, sprawdź błąd, odpowiednio zaktualizuj elementyOptimizeToursRequest
w Google Cloud Storage i spróbuj ponownie, w zależności od zaobserwowanego błędu.
Żądania OptimizeTours
i BatchOptimizeTours
możesz wysyłać na różne sposoby, zarówno z wiersza poleceń, jak i za pomocą biblioteki klienta.
Dalej: tworzenie żądania do interfejsu API