Ce guide présente le lancement expérimental des méthodes d'API OptimizeToursLongRunning
et OptimizeToursUri
, qui permettent aux utilisateurs d'envoyer des requêtes d'optimisation uniques et non bloquantes. Dans une optimisation non bloquante, l'utilisateur reçoit rapidement un proto Operation 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 Opérations de longue durée.
Ces méthodes non bloquantes offrent des avantages en termes 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 intégrer la demande d'optimisation peuvent utiliser la méthode OptimizeToursLongRunning
, tandis que ceux qui préfèrent importer les demandes et lire la réponse à 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 des valeurs adaptées à votre environnement :
- Assurez-vous d'avoir configuré les identifiants par défaut de l'application comme décrit dans 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 associé. La méthodeGetOperation
permet d'interroger l'état de l'opération. Une fois l'opération terminée, les métadonnées contiennent également leOptimizeToursResponse
final.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 pour BatchOptimizeTours
, vous pouvez utiliser OptimizeToursUri
pour continuer à stocker votre demande et votre réponse d'optimisation sur 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'à la seule OptimizeToursRequest
envoyée.
Exemple : Envoyer une requête OptimizeToursUri
Avant d'envoyer une requête, remplacez les paramètres suivants par des valeurs adaptées à votre environnement :
- Assurez-vous d'avoir configuré les identifiants par défaut de l'application comme décrit dans 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 associé. Utilisez la méthodeGetOperation
pour interroger l'état de l'opération. Une fois l'opération terminée,OptimizeToursResponse
est stocké à distance sur le chemin d'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