Interfejs Route Optimization API udostępnia 2 metody:
OptimizeToursto 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śćOptimizeToursResponselub błąd.BatchOptimizeToursto metoda asynchroniczna, która akceptuje identyfikatory URI co najmniej 1OptimizeToursRequesti odpowiadające im komunikatyOptimizeToursResponse. Zwraca nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która służy do sprawdzania, czy przetwarzanie wsadowe zostało zakończone.OptimizeToursRequestsą przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko na czas przesyłaniaBatchOptimizeToursRequestlub wywoływaniaGetOperationw celu sprawdzenia stanu LRO.BatchOptimizeToursodczytuje żą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 wymagające dłuższego czasu 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 zgłasza błędy napotkane podczas przetwarzania. Jeśli wartość done to „true” i nie ma 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
BatchOptimizeToursRequestdo interfejsu Route Optimization API, który zwraca nazwę zasobu LRO. - Wyślij zapytanie do interfejsu
GetOperationz zwróconą nazwą zasobu LRO, dopóki w odpowiedzi LRO nie pojawią się właściwościdoneluberror. - Jeśli
donema wartość true i nie występuje żaden błąd, odczytajOptimizeToursResponsesz adresów URI Google Cloud Storage podanych w żądaniuBatchOptimizeTours. Jeśli występuje znakerror, sprawdź błąd, odpowiednio zaktualizuj elementyOptimizeToursRequestw 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