Questa guida illustra il lancio sperimentale dei metodi dell'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 la sezione Operazioni a lunga esecuzione.
Questi metodi non bloccanti offrono 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 inserire la richiesta di ottimizzazione in linea possono utilizzare il metodo
OptimizeToursLongRunning, mentre gli utenti che preferiscono caricare le richieste e la risposta di lettura utilizzando Google Cloud Storage possono utilizzare il metodo
OptimizeToursUri.
OptimizeToursLongRunning
Esempio: effettua una richiesta OptimizeToursLongRunning
Prima di effettuare una richiesta, sostituisci i seguenti parametri con i 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. Il metodoGetOperationpuò essere utilizzato per eseguire query sullo stato dell'operazione. Al termine dell'operazione, i metadati contengono anche il valore 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 a memorizzare 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: effettua una richiesta OptimizeToursUri
Prima di effettuare una richiesta, sostituisci i seguenti parametri con i 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 il metodoGetOperationper eseguire una query sullo stato dell'operazione. Al termine dell'operazione,OptimizeToursResponseviene memorizzato remotely 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