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 Operation dal metodo che può essere utilizzato
per fare riferimento allo stato dell'ottimizzazione chiamando GetOperation.
Per ulteriori dettagli, consulta Operazioni a lunga esecuzione.
Questi metodi non bloccanti offrono i
vantaggi in termini di affidabilità rispetto al metodo bloccante OptimizeTours, 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
OptimizeToursLongRunning metodo, mentre gli utenti che preferiscono caricare le
richieste e leggere la risposta utilizzando Google Cloud Storage possono utilizzare il
OptimizeToursUri metodo.
OptimizeToursLongRunning
Esempio: effettuare 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
OptimizeToursLongRunningall'API Route Optimization e riceve un ID operazione associato. IlGetOperationmetodo può essere utilizzato per eseguire una query sullo stato dell'operazione. Al termine dell'operazione, i metadati contengono anche l'oggetto finaleOptimizeToursResponse.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
ad 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 alla singola OptimizeToursRequest inviata.
Esempio: effettuare 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
OptimizeToursUriall'API Route Optimization e riceve un ID operazione associato. Utilizza ilGetOperationmetodo per eseguire una query sullo stato dell'operazione. Al termine dell'operazione,OptimizeToursResponseviene archiviato in remoto nel percorso dell'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