RequestRouteDirectionsBatch interface
Méthodes
| get(Request |
L’API Télécharger les résultats de lot asynchronesPour télécharger les résultats de lot asynchrones, vous émettrez une demande de
Voici la séquence classique d’opérations pour télécharger les résultats du lot :
Modèle de réponse par lotLe contenu de données retourné est similaire pour les demandes asynchrones et de synchronisation. Lors du téléchargement des résultats d’une demande de traitement asynchrone par lot, si le traitement du lot a terminé, le corps de la réponse contient la réponse par lot. Cette réponse par lot contient un composant
Voici un exemple de réponse Batch avec 1 réussite et 1 échec résultat :
|
| post(Route |
L’API Envoyer une demande de traitement par lots asynchroneL’API asynchrone est appropriée pour traiter de gros volumes de demandes de routage relativement complexes
Lorsque vous effectuez une requête à l’aide d’une requête asynchrone, par défaut, le service retourne un code de réponse 202 le long d’une URL de redirection dans le champ Emplacement de l’en-tête de réponse. Cette URL doit être vérifiée régulièrement jusqu’à ce que les données de réponse ou les informations d’erreur soient disponibles. Les réponses asynchrones sont stockées pendant 24 heures. L’URL de redirection retourne une réponse 404 si elle est utilisée après la période d’expiration. Notez que la demande de traitement par lots asynchrone est une opération longue. Voici une séquence classique d’opérations :
Corps POST pour la requête BatchPour envoyer les itinéraires itinéraires requêtes, vous utiliserez une requête
Un itinéraire directions requête dans un lot n’est qu’une URL partielle sans le protocole, l’URL de base, le chemin d’accès, la version d’API et la clé d’abonnement. Il peut accepter l’un des itinéraires de routage pris en chargeparamètres d’URI. Les valeurs de chaîne dans la directions de l’itinéraire requête doivent être correctement placées en échappement (par exemple, « le caractère doit être échappé avec \ ) et il doit également être correctement codé en URL. L’API asynchrone permet à l’appelant de traiter jusqu’à 700 requêtes et de synchroniser l’API jusqu’à 100 requêtes, et le lot doit contenir au moins 1 requête. Télécharger les résultats de lot asynchronesPour télécharger les résultats de lot asynchrones, vous émettrez une demande de
Voici la séquence classique d’opérations pour télécharger les résultats du lot :
Modèle de réponse par lotLe contenu de données retourné est similaire pour les demandes asynchrones et de synchronisation. Lors du téléchargement des résultats d’une demande de traitement asynchrone par lot, si le traitement du lot a terminé, le corps de la réponse contient la réponse par lot. Cette réponse par lot contient un composant
Voici un exemple de réponse Batch avec 1 réussite et 1 échec résultat :
|
Détails de la méthode
get(RequestParameters)
L’API Get Route Directions Batch est une requête HTTP GET qui envoie des lots de requêtes à l’API Get Route Directions à l’aide d’une seule requête. Vous pouvez appeler Get Route Directions Batch API pour s’exécuter de manière asynchrone (asynchrone) ou synchrone (synchronisation). L’API asynchrone permet à l’appelant de traiter par lots jusqu’à 700 requêtes et de synchroniser l’API jusqu’à 100 requêtes.
Télécharger les résultats de lot asynchrones
Pour télécharger les résultats de lot asynchrones, vous émettrez une demande de GET sur le point de terminaison de téléchargement par lots. Cette 'URL de téléchargement peut être obtenue à partir de l’en-tête Location d’une demande de traitement par lots réussie POST et ressemble à ce qui suit :
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
Voici la séquence classique d’opérations pour télécharger les résultats du lot :
Le client envoie une demande de
GETà l’aide de l’URL de téléchargement .Le serveur répond avec l’une des options suivantes :
HTTP
202 Accepted: la requête Batch a été acceptée mais est toujours traitée. Réessayez dans un certain temps.HTTP
200 OK- Requête batch correctement traitée. Le corps de la réponse contient tous les résultats du lot.
Modèle de réponse par lot
Le contenu de données retourné est similaire pour les demandes asynchrones et de synchronisation. Lors du téléchargement des résultats d’une demande de traitement asynchrone par lot, si le traitement du lot a terminé, le corps de la réponse contient la réponse par lot. Cette réponse par lot contient un composant summary qui indique les totalRequests qui faisaient partie de la demande de lot d’origine et successfulRequestsc’est-à-dire les requêtes qui ont été exécutées avec succès. La réponse par lot inclut également un tableau batchItems qui contient une réponse pour chaque requête dans la requête de lot. Les batchItems contiennent les résultats dans le même ordre que les requêtes d’origine ont été envoyées dans la requête de lot. Chaque élément de batchItems contient des champs statusCode et response. Chaque response dans batchItems est de l’un des types suivants :
RouteDirections: si la requête s’est terminée correctement.Error: si la requête a échoué. La réponse contient unecodeet unemessagedans ce cas.
Voici un exemple de réponse Batch avec 1 réussite et 1 échec résultat :
{
"summary": {
"successfulRequests": 1,
"totalRequests": 2
},
"batchItems": [
{
"statusCode": 200,
"response": {
"routes": [
{
"summary": {
"lengthInMeters": 1758,
"travelTimeInSeconds": 387,
"trafficDelayInSeconds": 0,
"departureTime": "2018-07-17T00:49:56+00:00",
"arrivalTime": "2018-07-17T00:56:22+00:00"
},
"legs": [
{
"summary": {
"lengthInMeters": 1758,
"travelTimeInSeconds": 387,
"trafficDelayInSeconds": 0,
"departureTime": "2018-07-17T00:49:56+00:00",
"arrivalTime": "2018-07-17T00:56:22+00:00"
},
"points": [
{
"latitude": 47.62094,
"longitude": -122.34892
},
{
"latitude": 47.62094,
"longitude": -122.3485
},
{
"latitude": 47.62095,
"longitude": -122.3476
}
]
}
],
"sections": [
{
"startPointIndex": 0,
"endPointIndex": 40,
"sectionType": "TRAVEL_MODE",
"travelMode": "bicycle"
}
]
}
]
}
},
{
"statusCode": 400,
"response":
{
"error":
{
"code": "400 BadRequest",
"message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
}
}
}
]
}
function get(options?: RequestParameters): StreamableMethod<RouteGetRouteDirectionsBatch200Response | RouteGetRouteDirectionsBatch202Response>
Paramètres
- options
- RequestParameters
Retours
post(RouteRequestRouteDirectionsBatchParameters)
L’API Post Route Directions Batch est une requête HTTP POST qui envoie des lots de requêtes à l’API Get Route Directions à l’aide d’une requête asynchrone unique. Vous pouvez appeler Route Directions Batch API pour s’exécuter de manière asynchrone (asynchrone) ou synchrone (synchronisation). L’API asynchrone permet à l’appelant de traiter par lots jusqu’à 700 requêtes et de synchroniser l’API jusqu’à 100 requêtes. Pour appeler l’API Post Route Directions Batch dans une requête synchrone, consultez Post Route Directions Batch Sync.
Envoyer une demande de traitement par lots asynchrone
L’API asynchrone est appropriée pour traiter de gros volumes de demandes de routage relativement complexes
- Il permet la récupération des résultats dans un appel distinct (plusieurs téléchargements sont possibles).
- L’API asynchrone est optimisée pour la fiabilité et n’est pas censée s’exécuter dans un délai d’expiration.
- Le nombre d’éléments de lot est limité à 700 pour cette API.
Lorsque vous effectuez une requête à l’aide d’une requête asynchrone, par défaut, le service retourne un code de réponse 202 le long d’une URL de redirection dans le champ Emplacement de l’en-tête de réponse. Cette URL doit être vérifiée régulièrement jusqu’à ce que les données de réponse ou les informations d’erreur soient disponibles. Les réponses asynchrones sont stockées pendant 24 heures. L’URL de redirection retourne une réponse 404 si elle est utilisée après la période d’expiration.
Notez que la demande de traitement par lots asynchrone est une opération longue. Voici une séquence classique d’opérations :
- Le client envoie une demande de
POSTRoute Directions Batch à Azure Maps.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
Le serveur répond avec l’une des options suivantes :
HTTP
202 Accepted: la requête Batch a été acceptée.HTTP
Error: une erreur s’est produite lors du traitement de votre requête Batch. Il peut s’agir d’un400 Bad Requestou d’un autre code d’étatError.Si la demande de lot a été acceptée avec succès, l’en-tête
Locationdans la réponse contient l’URL pour télécharger les résultats de la demande de traitement. Cet URI d’état ressemble à ceci :
GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
- Le client émet une demande de
GETsur l’URL de téléchargement obtenue à l’étape 3 pour télécharger les résultats du lot.
Corps POST pour la requête Batch
Pour envoyer les itinéraires itinéraires requêtes, vous utiliserez une requête POST où le corps de la requête contiendra le tableau batchItems au format json et l’en-tête Content-Type sera défini sur application/json. Voici un exemple de corps de requête contenant 3 itinéraires itinéraires requêtes :
{
"batchItems": [
{ "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false" },
{ "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest" },
{ "query": "?query=48.923159,-122.557362:32.621279,-116.840362" }
]
}
Un itinéraire directions requête dans un lot n’est qu’une URL partielle sans le protocole, l’URL de base, le chemin d’accès, la version d’API et la clé d’abonnement. Il peut accepter l’un des itinéraires de routage pris en chargeparamètres d’URI. Les valeurs de chaîne dans la directions de l’itinéraire requête doivent être correctement placées en échappement (par exemple, « le caractère doit être échappé avec \ ) et il doit également être correctement codé en URL.
L’API asynchrone permet à l’appelant de traiter jusqu’à 700 requêtes et de synchroniser l’API jusqu’à 100 requêtes, et le lot doit contenir au moins 1 requête.
Télécharger les résultats de lot asynchrones
Pour télécharger les résultats de lot asynchrones, vous émettrez une demande de GET sur le point de terminaison de téléchargement par lots. Cette 'URL de téléchargement peut être obtenue à partir de l’en-tête Location d’une demande de traitement par lots réussie POST et ressemble à ce qui suit :
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
Voici la séquence classique d’opérations pour télécharger les résultats du lot :
Le client envoie une demande de
GETà l’aide de l’URL de téléchargement .Le serveur répond avec l’une des options suivantes :
HTTP
202 Accepted: la requête Batch a été acceptée mais est toujours traitée. Réessayez dans un certain temps.HTTP
200 OK- Requête batch correctement traitée. Le corps de la réponse contient tous les résultats du lot.
Modèle de réponse par lot
Le contenu de données retourné est similaire pour les demandes asynchrones et de synchronisation. Lors du téléchargement des résultats d’une demande de traitement asynchrone par lot, si le traitement du lot a terminé, le corps de la réponse contient la réponse par lot. Cette réponse par lot contient un composant summary qui indique les totalRequests qui faisaient partie de la demande de lot d’origine et successfulRequestsc’est-à-dire les requêtes qui ont été exécutées avec succès. La réponse par lot inclut également un tableau batchItems qui contient une réponse pour chaque requête dans la requête de lot. Les batchItems contiennent les résultats dans le même ordre que les requêtes d’origine ont été envoyées dans la requête de lot. Chaque élément de batchItems contient des champs statusCode et response. Chaque response dans batchItems est de l’un des types suivants :
RouteDirections: si la requête s’est terminée correctement.Error: si la requête a échoué. La réponse contient unecodeet unemessagedans ce cas.
Voici un exemple de réponse Batch avec 1 réussite et 1 échec résultat :
{
"summary": {
"successfulRequests": 1,
"totalRequests": 2
},
"batchItems": [
{
"statusCode": 200,
"response": {
"routes": [
{
"summary": {
"lengthInMeters": 1758,
"travelTimeInSeconds": 387,
"trafficDelayInSeconds": 0,
"departureTime": "2018-07-17T00:49:56+00:00",
"arrivalTime": "2018-07-17T00:56:22+00:00"
},
"legs": [
{
"summary": {
"lengthInMeters": 1758,
"travelTimeInSeconds": 387,
"trafficDelayInSeconds": 0,
"departureTime": "2018-07-17T00:49:56+00:00",
"arrivalTime": "2018-07-17T00:56:22+00:00"
},
"points": [
{
"latitude": 47.62094,
"longitude": -122.34892
},
{
"latitude": 47.62094,
"longitude": -122.3485
},
{
"latitude": 47.62095,
"longitude": -122.3476
}
]
}
],
"sections": [
{
"startPointIndex": 0,
"endPointIndex": 40,
"sectionType": "TRAVEL_MODE",
"travelMode": "bicycle"
}
]
}
]
}
},
{
"statusCode": 400,
"response":
{
"error":
{
"code": "400 BadRequest",
"message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
}
}
}
]
}
function post(options: RouteRequestRouteDirectionsBatchParameters): StreamableMethod<RouteRequestRouteDirectionsBatch200Response | RouteRequestRouteDirectionsBatch202Response>