In diesem Leitfaden wird die experimentelle Einführung der API-Methoden OptimizeToursLongRunning
und OptimizeToursUri
beschrieben, mit denen Nutzer einzelne, nicht blockierende Optimierungsanfragen stellen können. Bei einer nicht blockierenden Optimierung erhält der Nutzer schnell ein Operation-Proto von der Methode, mit dem er den Status der Optimierung durch Aufrufen von GetOperation
abrufen kann.
Weitere Informationen finden Sie unter Vorgänge mit langer Ausführungszeit.
Diese nicht blockierenden Methoden bieten gegenüber der blockierenden Methode OptimizeTours
den Vorteil, dass die Verbindung zum Server nicht aufrechterhalten werden muss, während die Optimierung ausgeführt wird. Außerdem lassen sich Fehler mit diesen neuen Methoden leichter beheben als mit BatchOptimizeTours
, da jede Optimierung einem einzelnen Vorgang mit langer Ausführungszeit (Long-Running Operation, LRO) zugeordnet ist.
Nutzer, die die Optimierungsanfrage inline einfügen möchten, können die Methode OptimizeToursLongRunning
verwenden. Nutzer, die die Anfragen hochladen und die Antwort über Google Cloud Storage lesen möchten, können die Methode OptimizeToursUri
verwenden.
OptimizeToursLongRunning
Beispiel: OptimizeToursLongRunning
-Anfrage stellen
Ersetzen Sie vor dem Senden einer Anfrage die folgenden Parameter durch Werte, die für Ihre Umgebung geeignet sind:
- Achten Sie darauf, dass Sie Standardanmeldedaten für Anwendungen wie unter OAuth verwenden beschrieben konfiguriert haben.
Legen Sie PROJECT_NUMBER_OR_ID auf Ihre Cloud-Projektnummer oder -ID fest.
Mit dem folgenden Befehl wird eine
OptimizeToursLongRunning
-Anfrage an die Route Optimization API gesendet und eine zugehörige Vorgangs-ID empfangen. Mit der MethodeGetOperation
kann der Status des Vorgangs abgefragt werden. Wenn der Vorgang abgeschlossen ist, enthalten die Metadaten auch die endgültigeOptimizeToursResponse
.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
Wie bei BatchOptimizeTours
können Sie OptimizeToursUri
verwenden, um Ihre Optimierungsanfrage und -antwort weiterhin in Google Cloud Storage zu speichern.
Cloud Storage-URIs müssen in der OptimizeToursUri
-Anforderungsnachricht angegeben werden.
Der zurückgegebene Status Operation
bezieht sich nur auf die einzelne eingereichte OptimizeToursRequest
.
Beispiel: OptimizeToursUri
-Anfrage stellen
Ersetzen Sie vor dem Senden einer Anfrage die folgenden Parameter durch Werte, die für Ihre Umgebung geeignet sind:
- Achten Sie darauf, dass Sie Standardanmeldedaten für Anwendungen wie unter OAuth verwenden beschrieben konfiguriert haben.
Legen Sie PROJECT_NUMBER_OR_ID auf Ihre Cloud-Projektnummer oder -ID fest.
Mit dem folgenden Befehl wird eine
OptimizeToursUri
-Anfrage an die Route Optimization API gesendet und eine zugehörige Vorgangs-ID empfangen. Verwenden Sie die MethodeGetOperation
, um den Status des Vorgangs abzufragen. Wenn der Vorgang abgeschlossen ist, wirdOptimizeToursResponse
remote unter dem in der Anfrage angegebenen Ausgabepfad-URI gespeichert.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