Interfejs Route Optimization API udostępnia 2 metody:
OptimizeToursto synchroniczna metoda, która zwraca zoptymalizowaną trasę w odpowiedzi naOptimizeToursRequest. Klienci muszą utrzymać otwarte połączenie z interfejsem Route Optimization API do momentu przetworzenia żądania i zwrócenia wartościOptimizeToursResponselub błędu.BatchOptimizeToursto asymetryczna metoda, która akceptuje identyfikatory URI dotyczące jednego lub więcejOptimizeToursRequestoraz odpowiadających imOptimizeToursResponsewiadomości, zwracając nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która jest używana do sprawdzania, czy partia została ukończona.OptimizeToursRequestsą przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko przez czas potrzebny do przesłaniaBatchOptimizeToursRequestlub wywołaniaGetOperationw celu sprawdzenia stanu LRO.BatchOptimizeToursodczytuje żądania z Google Cloud Storage i zapisuje w niej odpowiedzi.
Przypadki użycia
OptimizeTours jest wygodny do rozwiązywania prostych żądań lub żądań, których czas rozwiązania nie przekracza kilku minut. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerwania działania rozwiązania przed jego zwrotem.
BatchOptimizeTours może obsługiwać większe żądania i żądania z dłuższym czasem rozwiązania, ponieważ nie wymaga długotrwałego połączenia z interfejsem RouteOptimization API.
Długotrwałe operacje
LRO są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation, aby sprawdzić stan ukończenia partii. LRO zawierają właściwość done, która wskazuje, czy przetwarzanie całego zbioru zostało zakończone, oraz pole error, które informuje o błędach napotkanych podczas przetwarzania. Jeśli done ma wartość true, a error nie występuje, partia została ukończona. Obecność tagu
error wskazuje, że przetwarzanie części lub całości wsadu zakończyło się niepowodzeniem.
Typowy cykl życia żądania BatchOptimizeTours:
- Prześlij
BatchOptimizeToursRequestdo interfejsu Route Optimization API, który zwraca nazwę zasobu LRO. - Wywołaj metodę
GetOperationz zwróconą nazwą zasobu LRO, aż w odpowiedzi LRO pojawią się właściwościdoneluberror. - Jeśli
donema wartość Prawda i nie ma błędu, odczytajOptimizeToursResponsesz URI Google Cloud Storage określonych w żądaniuBatchOptimizeTours. Jeślierrorjest obecny, sprawdź błąd, zaktualizuj odpowiednio wartościOptimizeToursRequestw Google Cloud Storage i spróbuj ponownie w zależności od błędu.
Żądania OptimizeTours i BatchOptimizeTours można wysyłać na różne sposoby, np. z poziomu wiersza poleceń lub za pomocą biblioteki klienta.
Dalej: wysyłanie żądania do interfejsu API