L'API Route Optimization expose deux méthodes:
OptimizeToursest 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'unOptimizeToursResponseou une erreur soit renvoyé.BatchOptimizeToursest une méthode asynchrone qui accepte des URI pour un ou plusieursOptimizeToursRequestet les messagesOptimizeToursResponsecorrespondants, et renvoie le nom de ressource d'une opération de longue durée (REST, gRPC) utilisée pour vérifier l'achèvement du lot. LesOptimizeToursRequestsont traitées en arrière-plan. Par conséquent, les clients ne maintiennent une connexion ouverte à l'API Route Optimization que le temps nécessaire pour envoyer leBatchOptimizeToursRequestou pour appelerGetOperationafin de vérifier l'état de l'opération de longue durée.BatchOptimizeTourslit les requêtes provenant de Google Cloud Storage et y écrit les réponses.
Cas d'utilisation
OptimizeTours est pratique pour résoudre les requêtes petites et simples, ou les 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 ne puisse être renvoyée.
BatchOptimizeTours peut gérer 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 durable à l'API Route Optimization.
Opérations de longue durée
Les LRO sont lus à partir de l'API Route Optimization à l'aide de la méthode GetOperation pour vérifier l'état d'avancement 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, le lot a bien été exécuté. La présence d'un error indique que le traitement d'une partie ou de la totalité 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 la ressource d'une opération de longue durée. - Interrogez
GetOperationavec le nom de la ressource LRO renvoyée jusqu'à ce que les propriétésdoneouerrorapparaissent dans la réponse de l'opération de longue durée. - Si
doneest 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. Sierrorest présent, inspectez l'erreur, mettez à jour lesOptimizeToursRequesten conséquence dans Google Cloud Storage et 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, à partir de la ligne de commande ou à l'aide d'une bibliothèque cliente.
Étape suivante: Envoyer une requête API