Endpoint sincroni e asincroni

Sviluppatori dello Spazio economico europeo (SEE)

L'API Route Optimization espone due metodi:

  • OptimizeTours è un metodo sincrono che restituisce un percorso ottimizzato in risposta a un OptimizeToursRequest. I client devono mantenere una connessione aperta all'API Route Optimization finché la richiesta non viene elaborata e viene restituito un OptimizeToursResponse o un errore.
  • BatchOptimizeTours è un metodo asincrono che accetta URI per uno o più OptimizeToursRequest e messaggi OptimizeToursResponse corrispondenti, restituendo il nome della risorsa di un'operazione a lunga esecuzione (LRO) (REST, gRPC) utilizzata per verificare il completamento del batch. I OptimizeToursRequest vengono elaborati in background, quindi i client mantengono una connessione aperta all'API Route Optimization solo il tempo necessario per inviare il BatchOptimizeToursRequest o per chiamare GetOperation per controllare lo stato della LRO. BatchOptimizeTours legge le richieste e scrive le risposte in Google Cloud Storage.

Casi d'uso

OptimizeTours è utile per risolvere richieste semplici e di piccole dimensioni o per richieste con tempi di risoluzione di pochi minuti o meno. Il mantenimento di connessioni di lunga durata all'API Route Optimization aumenta il rischio di interruzione prima che possa essere restituita una soluzione.

BatchOptimizeTours può gestire richieste più grandi e richieste con tempi di risoluzione più lunghi perché non richiede una connessione a lunga durata all'API Route Optimization.

Operazioni a lunga esecuzione

Le operazioni LRO vengono lette dall'API Route Optimization utilizzando il metodo GetOperation per controllare lo stato di completamento di un batch. Le operazioni di lunga durata includono una proprietà done che indica se l'elaborazione dell'intero batch è completata e un campo error che segnala gli errori riscontrati durante l'elaborazione. Se done è true e non è presente error, il batch è stato completato correttamente. La presenza di un error indica che l'elaborazione di alcuni o di tutti i batch non è riuscita.

Il ciclo di vita tipico di una richiesta BatchOptimizeTours è il seguente:

  1. Invia un BatchOptimizeToursRequest all'API Route Optimization, che restituisce il nome della risorsa di un'operazione di lunga durata.
  2. Esegui il sondaggio GetOperation con il nome della risorsa LRO restituito finché non vengono visualizzate le proprietà done o error nella risposta LRO.
  3. Se done è true e non è presente alcun errore, leggi OptimizeToursResponses dagli URI di Google Cloud Storage specificati nella richiesta BatchOptimizeTours. Se è presente error, esamina l'errore, aggiorna i OptimizeToursRequest di conseguenza in Google Cloud Storage e riprova come opportuno a seconda dell'errore osservato.

Puoi inviare richieste OptimizeTours e BatchOptimizeTours in vari modi, dalla riga di comando o utilizzando una libreria client.

Passaggio successivo: effettua una richiesta API