Questa guida introduce il lancio sperimentale dei metodi API OptimizeToursLongRunning
e OptimizeToursUri
che consentono agli utenti di effettuare singole richieste di ottimizzazione non bloccanti. In un'ottimizzazione non bloccante, l'utente
riceve rapidamente un proto di operazione dal metodo che può essere utilizzato
per fare riferimento allo stato dell'ottimizzazione chiamando GetOperation
.
Per ulteriori dettagli, consulta la sezione Operazioni a lunga esecuzione.
Questi metodi non bloccanti offrono i vantaggi di affidabilità rispetto al metodo OptimizeTours
bloccante, poiché il client non deve mantenere la connessione al server durante l'esecuzione dell'ottimizzazione. Inoltre, questi nuovi metodi semplificano il debug
degli errori rispetto a BatchOptimizeTours
, poiché ogni ottimizzazione è
associata a una singola operazione a lunga esecuzione (LRO).
Gli utenti che preferiscono incorporare la richiesta di ottimizzazione possono utilizzare il metodo
OptimizeToursLongRunning
, mentre gli utenti che preferiscono caricare le
richieste e leggere la risposta utilizzando Google Cloud Storage possono utilizzare il metodo
OptimizeToursUri
.
OptimizeToursLongRunning
Esempio: inviare una richiesta OptimizeToursLongRunning
Prima di effettuare una richiesta, sostituisci i seguenti parametri con valori appropriati per il tuo ambiente:
- Assicurati di aver configurato le credenziali predefinite dell'applicazione come descritto in Utilizzare OAuth.
Imposta PROJECT_NUMBER_OR_ID sul numero o sull'ID del tuo progetto Cloud.
Il seguente comando invia una richiesta
OptimizeToursLongRunning
all'API Route Optimization e riceve un ID operazione associato. Il metodoGetOperation
può essere utilizzato per eseguire query sullo stato dell'operazione. Una volta completata l'operazione, i metadati contengono anche l'OptimizeToursResponse
finale.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursLongRunning' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ], } } EOM
OptimizeToursUri
Come BatchOptimizeTours
, puoi utilizzare OptimizeToursUri
per continuare
a archiviare la richiesta e la risposta di ottimizzazione su Google Cloud Storage.
Gli URI Cloud Storage devono essere specificati nel messaggio di richiesta OptimizeToursUri
.
Lo stato Operation
restituito è associato solo al singolo OptimizeToursRequest
inviato.
Esempio: inviare una richiesta OptimizeToursUri
Prima di effettuare una richiesta, sostituisci i seguenti parametri con valori appropriati per il tuo ambiente:
- Assicurati di aver configurato le credenziali predefinite dell'applicazione come descritto in Utilizzare OAuth.
Imposta PROJECT_NUMBER_OR_ID sul numero o sull'ID del tuo progetto Cloud.
Il seguente comando invia una richiesta
OptimizeToursUri
all'API Route Optimization e riceve un ID operazione associato. Utilizza il metodoGetOperation
per eseguire una query sullo stato dell'operazione. Una volta completata l'operazione,OptimizeToursResponse
viene archiviato in remoto nel percorso URI di output fornito nella richiesta.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeToursUri' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "input": { "uri": "gs://bucket/path/input/object.json" }, "output": { "uri": "gs://bucket/path/output/object.json" } } EOM