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éthodeGetOperation
permet d'interroger l'état de l'opération. Une fois l'opération terminée, les métadonnées contiennent également l'OptimizeToursResponse
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 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éthodeGetOperation
pour interroger l'état de l'opération. Une fois l'opération terminée,OptimizeToursResponse
est 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