L'API Route Optimization expose deux méthodes :
OptimizeTours
est une méthode synchrone qui renvoie un itinéraire optimisé en réponse à unOptimizeToursRequest
. Les clients doivent maintenir une connexion ouverte à l'API Route Optimization jusqu'à ce que la requête soit traitée et qu'une réponseOptimizeToursResponse
ou une erreur soit renvoyée.BatchOptimizeTours
est une méthode asynchrone qui accepte les URI d'un ou de plusieursOptimizeToursRequest
et les messagesOptimizeToursResponse
correspondants. Elle renvoie le nom de ressource d'une opération de longue durée (LRO) (REST, gRPC) qui est utilisée pour vérifier si le lot est terminé. LesOptimizeToursRequest
sont traités en arrière-plan. Les clients maintiennent donc une connexion ouverte à l'API Route Optimization uniquement le temps d'envoyer leBatchOptimizeToursRequest
ou d'appelerGetOperation
pour vérifier l'état de la LRO.BatchOptimizeTours
lit les requêtes et écrit les réponses dans Google Cloud Storage.
Cas d'utilisation
OptimizeTours
est pratique pour résoudre des requêtes simples et de petite taille, ou des requêtes dont le temps de résolution est de quelques minutes ou moins. Le maintien de connexions de longue durée à l'API Route Optimization augmente le risque d'interruption avant qu'une solution puisse être renvoyée.
BatchOptimizeTours
peut traiter des requêtes plus volumineuses et des requêtes avec un temps de résolution plus long, car il ne nécessite pas de connexion de longue durée à l'API Route Optimization.
Opérations de longue durée
Les LRO sont lues à partir de l'API Route Optimization à l'aide de la méthode GetOperation
pour vérifier l'état d'achèvement d'un lot. Les LRO incluent une propriété done
qui indique si le traitement de l'ensemble du lot est terminé et un champ error
qui signale les erreurs rencontrées lors du traitement. Si done
est défini sur "true" et qu'aucun error
n'est présent, cela signifie que le lot a été traité avec succès. La présence d'un error
indique que le traitement d'une partie ou de l'intégralité du lot a échoué.
Le cycle de vie typique d'une requête BatchOptimizeTours
est le suivant :
- Envoyez un
BatchOptimizeToursRequest
à l'API Route Optimization, qui renvoie le nom de ressource d'une LRO. - Interrogez
GetOperation
avec le nom de ressource LRO renvoyé jusqu'à ce que les propriétésdone
ouerror
apparaissent dans la réponse LRO. - Si
done
est défini sur "true" et qu'aucune erreur n'est présente, lisezOptimizeToursResponses
à partir des URI Google Cloud Storage spécifiés dans la requêteBatchOptimizeTours
. Sierror
est présent, inspectez l'erreur, mettez à jour lesOptimizeToursRequest
en conséquence dans Google Cloud Storage, puis réessayez si nécessaire en fonction de l'erreur observée.
Vous pouvez envoyer des requêtes OptimizeTours
et BatchOptimizeTours
de différentes manières, soit à partir de la ligne de commande, soit à l'aide d'une bibliothèque cliente.
Étape suivante : Envoyer une requête API