Partager via


RequestRouteDirectionsBatchSync interface

Méthodes

post(RouteRequestRouteDirectionsBatchSyncParameters)

L’API Post Route Directions Batch Sync est une requête HTTP POST qui envoie des lots de requêtes à l’API Get Route Directions à l’aide d’une requête synchrone 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 asynchrone, consultez Post Route Directions Batch.

Envoyer une demande de traitement par lots synchrone

L’API synchrone est recommandée pour les requêtes par lots légères. Lorsque le service reçoit une demande, il répond dès que les éléments de lot sont calculés et il n’y aura aucune possibilité de récupérer les résultats ultérieurement. L’API synchrone retourne une erreur de délai d’expiration (réponse 408) si la requête prend plus de 60 secondes. Le nombre d’éléments de lot est limité à 100 pour cette API.

POST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

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 une code et une message dans 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."
                }
            }
        }
    ]
}

Détails de la méthode

post(RouteRequestRouteDirectionsBatchSyncParameters)

L’API Post Route Directions Batch Sync est une requête HTTP POST qui envoie des lots de requêtes à l’API Get Route Directions à l’aide d’une requête synchrone 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 asynchrone, consultez Post Route Directions Batch.

Envoyer une demande de traitement par lots synchrone

L’API synchrone est recommandée pour les requêtes par lots légères. Lorsque le service reçoit une demande, il répond dès que les éléments de lot sont calculés et il n’y aura aucune possibilité de récupérer les résultats ultérieurement. L’API synchrone retourne une erreur de délai d’expiration (réponse 408) si la requête prend plus de 60 secondes. Le nombre d’éléments de lot est limité à 100 pour cette API.

POST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

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 une code et une message dans 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: RouteRequestRouteDirectionsBatchSyncParameters): StreamableMethod<RouteRequestRouteDirectionsBatchSync200Response | RouteRequestRouteDirectionsBatchSync408Response | RouteRequestRouteDirectionsBatchSyncDefaultResponse>

Paramètres

Retours