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 im Vergleich zur blockierenden Methode OptimizeTours Vorteile in Bezug auf die Zuverlässigkeit, da der Client während der Ausführung der Optimierung nicht die Verbindung zum Server aufrechterhalten muss. Außerdem lassen sich mit diesen neuen Methoden Fehler im Vergleich zu BatchOptimizeTours leichter beheben, da jeder Optimierung ein einzelner Vorgang mit langer Ausführungszeit (Long-Running Operation, LRO) zugeordnet ist.
Nutzer, die die Optimierungsanfrage lieber inline einfügen möchten, können die Methode OptimizeToursLongRunning verwenden. Nutzer, die die Anfragen und die Leseantwort lieber über Google Cloud Storage hochladen 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:
- Die Standardanmeldedaten für Anwendungen müssen wie unter OAuth verwenden beschrieben konfiguriert sein.
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 zurückgegeben. Mit der MethodeGetOperationkönnen Sie den Status des Vorgangs abfragen. Nach Abschluss des Vorgangs 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 auch OptimizeToursUri verwenden, um Ihre Optimierungsanfrage und ‑antwort weiterhin in Google Cloud Storage zu speichern.
Cloud Storage-URIs müssen in der OptimizeToursUri-Anfragenachricht angegeben werden.
Der zurückgegebene Operation-Status ist nur mit der einzelnen eingereichten OptimizeToursRequest verknüpft.
Beispiel: OptimizeToursUri-Anfrage stellen
Ersetzen Sie vor dem Senden einer Anfrage die folgenden Parameter durch Werte, die für Ihre Umgebung geeignet sind:
- Die Standardanmeldedaten für Anwendungen müssen wie unter OAuth verwenden beschrieben konfiguriert sein.
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 zurückgegeben. Verwenden Sie die MethodeGetOperation, um den Status des Vorgangs abzufragen. Nach Abschluss des Vorgangs wirdOptimizeToursResponseaus der Ferne im in der Anfrage angegebenen Ausgabe-URI-Pfad 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