Ce guide présente le lancement expérimental des méthodes d'API OptimizeToursLongRunning et OptimizeToursUri, qui permettent aux utilisateurs d'effectuer des requêtes d'optimisation uniques non bloquantes. Dans une optimisation non bloquante, l'utilisateur reçoit rapidement un proto d'opération de la méthode qui peut être utilisé pour référencer l'état de l'optimisation en appelant GetOperation.
Pour en savoir plus, consultez la section Opérations de longue durée.
Ces méthodes non bloquantes offrent des avantages de fiabilité par rapport à la méthode bloquante OptimizeTours, car le client n'a pas besoin de maintenir la connexion au serveur pendant l'exécution de l'optimisation. De plus, ces nouvelles méthodes facilitent le débogage des échecs par rapport à BatchOptimizeTours, car chaque optimisation est associée à une seule opération de longue durée (LRO).
Les utilisateurs qui préfèrent insérer la requête d'optimisation peuvent utiliser la méthode OptimizeToursLongRunning, tandis que ceux qui préfèrent importer les requêtes et la réponse de lecture à l'aide de Google Cloud Storage peuvent utiliser la méthode OptimizeToursUri.
OptimizeToursLongRunning
Exemple: Envoyer une requête OptimizeToursLongRunning
Avant d'envoyer une requête, remplacez les paramètres suivants par les valeurs appropriées pour votre environnement:
- Assurez-vous que les identifiants par défaut de l'application sont configurés comme décrit dans la section Utiliser OAuth.
Définissez PROJECT_NUMBER_OR_ID sur le numéro ou l'ID de votre projet Cloud.
La commande suivante envoie une requête
OptimizeToursLongRunningà l'API Route Optimization et reçoit un ID d'opération qui lui est associé. La méthodeGetOperationpermet d'interroger l'état de l'opération. Une fois l'opération terminée, les métadonnées contiennent également l'OptimizeToursResponsefinal.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
Comme BatchOptimizeTours, vous pouvez utiliser OptimizeToursUri pour continuer à stocker votre requête et votre réponse d'optimisation dans Google Cloud Storage.
Les URI Cloud Storage doivent être spécifiés dans le message de requête OptimizeToursUri.
L'état Operation renvoyé n'est associé qu'à l'OptimizeToursRequest unique envoyé.
Exemple: Envoyer une requête OptimizeToursUri
Avant d'envoyer une requête, remplacez les paramètres suivants par les valeurs appropriées pour votre environnement:
- Assurez-vous que les identifiants par défaut de l'application sont configurés comme décrit dans la section Utiliser OAuth.
Définissez PROJECT_NUMBER_OR_ID sur le numéro ou l'ID de votre projet Cloud.
La commande suivante envoie une requête
OptimizeToursUrià l'API Route Optimization et reçoit un ID d'opération qui lui est associé. Utilisez la méthodeGetOperationpour interroger l'état de l'opération. Une fois l'opération terminée,OptimizeToursResponseest stocké à distance sur le chemin d'accès de l'URI de sortie fourni dans la requête.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