Condividi tramite


RequestRouteDirectionsBatch interface

Metodi

get(RequestParameters)

L'API è una richiesta http che invia batch di query all'API get route directions tramite una singola richiesta. È possibile chiamare Get Route Directions Batch API per l'esecuzione asincrona (asincrona) o in modo sincrono (sincronizzazione). L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query.

Scaricare i risultati batch asincroni

Per scaricare i risultati del batch asincrono, verrà inviata una richiesta di GET all'endpoint di download batch. Questo 'URL di download può essere ottenuto dall'intestazione Location di una richiesta batch di POST riuscita e ha un aspetto simile al seguente:

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

Ecco la sequenza tipica di operazioni per scaricare i risultati del batch:

  1. Il client invia una richiesta di GET usando l'URL di download .

  2. Il server risponderà con uno dei seguenti elementi:

    HTTP 202 Accepted: la richiesta batch è stata accettata ma è ancora in corso di elaborazione. Riprovare in qualche tempo.

    Http 200 OK: richiesta batch elaborata correttamente. Il corpo della risposta contiene tutti i risultati del batch.

Modello di risposta batch

Il contenuto dei dati restituito è simile per le richieste asincrone e di sincronizzazione. Quando si scaricano i risultati di una richiesta batch asincrona, se il batch ha terminato l'elaborazione, il corpo della risposta contiene la risposta batch. Questa risposta batch contiene un componente summary che indica il totalRequests che fanno parte della richiesta batch originale e successfulRequestsad esempio le query eseguite correttamente. La risposta batch include anche una matrice di batchItems che contiene una risposta per ogni query e ogni query nella richiesta batch. Il batchItems conterrà i risultati nello stesso ordine in cui le query originali sono state inviate nella richiesta batch. Ogni elemento in batchItems contiene campi statusCode e response. Ogni response in batchItems è di uno dei tipi seguenti:

  • RouteDirections: se la query è stata completata correttamente.

  • Error: se la query non è riuscita. La risposta conterrà un code e un message in questo caso.

Di seguito è riportato un esempio di risposta batch con 1 riuscito e 1 risultato non riuscito:

{
    "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."
                }
            }
        }
    ]
}
post(RouteRequestRouteDirectionsBatchParameters)

L'API Post Route Directions Batch è una richiesta di POST HTTP che invia batch di query all'API Get Route Directions usando una singola richiesta asincrona. È possibile chiamare Route Directions Batch API per l'esecuzione asincrona (asincrona) o in modo sincrono (sincronizzazione). L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query. Per chiamare l'API Post Route Directions Batch in una richiesta sincrona, vedere Post Route Directions Batch Sync.

Inviare una richiesta batch asincrona

L'API asincrona è appropriata per l'elaborazione di grandi volumi di richieste di route relativamente complesse

  • Consente il recupero dei risultati in una chiamata separata (sono possibili più download).
  • L'API asincrona è ottimizzata per l'affidabilità e non dovrebbe verificarsi un timeout.
  • Il numero di elementi batch è limitato a 700 per questa API.

Quando si effettua una richiesta usando una richiesta asincrona, per impostazione predefinita il servizio restituisce un codice di risposta 202 lungo un URL di reindirizzamento nel campo Percorso dell'intestazione della risposta. Questo URL deve essere controllato periodicamente fino a quando non sono disponibili i dati di risposta o le informazioni sull'errore. Le risposte asincrone vengono archiviate per 24 ore. L'URL di reindirizzamento restituisce una risposta 404 se usata dopo il periodo di scadenza.

Si noti che la richiesta batch asincrona è un'operazione a esecuzione prolungata. Ecco una sequenza tipica di operazioni:

  1. Il client invia una richiesta di route Directions Batch POST a Mappe di Azure.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
  1. Il server risponderà con uno dei seguenti elementi:

    HTTP 202 Accepted: la richiesta batch è stata accettata.

    HTTP Error: si è verificato un errore durante l'elaborazione della richiesta batch. Può trattarsi di un 400 Bad Request o di qualsiasi altro codice di stato Error.

  2. Se la richiesta batch è stata accettata correttamente, l'intestazione Location nella risposta contiene l'URL per scaricare i risultati della richiesta batch. Questo URI di stato è simile al seguente:

GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. Il client invia una richiesta di GET nell'URL di download ottenuto nel passaggio 3 per scaricare i risultati del batch.

Corpo POST per la richiesta batch

Per inviare le indicazioni stradali query si userà una richiesta di POST in cui il corpo della richiesta conterrà la matrice batchItems in formato json e l'intestazione Content-Type verrà impostata su application/json. Ecco un corpo di richiesta di esempio contenente 3 indicazioni stradali query:

{
    "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" }
    ]
}

Una route directions query in un batch è solo un URL parziale senza il protocollo, l'URL di base, il percorso, la versione api e la chiave di sottoscrizione. Può accettare uno dei parametri URIsupportati indicazioni stradali. I valori stringa nella indicazioni stradali query devono essere preceduti da un carattere di escape corretto (ad esempio, " il carattere deve essere preceduto da un carattere di escape con \ ) e deve anche essere codificato correttamente con URL.

L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query e il batch deve contenere almeno 1 query.

Scaricare i risultati batch asincroni

Per scaricare i risultati del batch asincrono, verrà inviata una richiesta di GET all'endpoint di download batch. Questo 'URL di download può essere ottenuto dall'intestazione Location di una richiesta batch di POST riuscita e ha un aspetto simile al seguente:

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

Ecco la sequenza tipica di operazioni per scaricare i risultati del batch:

  1. Il client invia una richiesta di GET usando l'URL di download .

  2. Il server risponderà con uno dei seguenti elementi:

    HTTP 202 Accepted: la richiesta batch è stata accettata ma è ancora in corso di elaborazione. Riprovare in qualche tempo.

    Http 200 OK: richiesta batch elaborata correttamente. Il corpo della risposta contiene tutti i risultati del batch.

Modello di risposta batch

Il contenuto dei dati restituito è simile per le richieste asincrone e di sincronizzazione. Quando si scaricano i risultati di una richiesta batch asincrona, se il batch ha terminato l'elaborazione, il corpo della risposta contiene la risposta batch. Questa risposta batch contiene un componente summary che indica il totalRequests che fanno parte della richiesta batch originale e successfulRequestsad esempio le query eseguite correttamente. La risposta batch include anche una matrice di batchItems che contiene una risposta per ogni query e ogni query nella richiesta batch. Il batchItems conterrà i risultati nello stesso ordine in cui le query originali sono state inviate nella richiesta batch. Ogni elemento in batchItems contiene campi statusCode e response. Ogni response in batchItems è di uno dei tipi seguenti:

  • RouteDirections: se la query è stata completata correttamente.

  • Error: se la query non è riuscita. La risposta conterrà un code e un message in questo caso.

Di seguito è riportato un esempio di risposta batch con 1 riuscito e 1 risultato non riuscito:

{
    "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."
                }
            }
        }
    ]
}

Dettagli metodo

get(RequestParameters)

L'API è una richiesta http che invia batch di query all'API get route directions tramite una singola richiesta. È possibile chiamare Get Route Directions Batch API per l'esecuzione asincrona (asincrona) o in modo sincrono (sincronizzazione). L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query.

Scaricare i risultati batch asincroni

Per scaricare i risultati del batch asincrono, verrà inviata una richiesta di GET all'endpoint di download batch. Questo 'URL di download può essere ottenuto dall'intestazione Location di una richiesta batch di POST riuscita e ha un aspetto simile al seguente:

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

Ecco la sequenza tipica di operazioni per scaricare i risultati del batch:

  1. Il client invia una richiesta di GET usando l'URL di download .

  2. Il server risponderà con uno dei seguenti elementi:

    HTTP 202 Accepted: la richiesta batch è stata accettata ma è ancora in corso di elaborazione. Riprovare in qualche tempo.

    Http 200 OK: richiesta batch elaborata correttamente. Il corpo della risposta contiene tutti i risultati del batch.

Modello di risposta batch

Il contenuto dei dati restituito è simile per le richieste asincrone e di sincronizzazione. Quando si scaricano i risultati di una richiesta batch asincrona, se il batch ha terminato l'elaborazione, il corpo della risposta contiene la risposta batch. Questa risposta batch contiene un componente summary che indica il totalRequests che fanno parte della richiesta batch originale e successfulRequestsad esempio le query eseguite correttamente. La risposta batch include anche una matrice di batchItems che contiene una risposta per ogni query e ogni query nella richiesta batch. Il batchItems conterrà i risultati nello stesso ordine in cui le query originali sono state inviate nella richiesta batch. Ogni elemento in batchItems contiene campi statusCode e response. Ogni response in batchItems è di uno dei tipi seguenti:

  • RouteDirections: se la query è stata completata correttamente.

  • Error: se la query non è riuscita. La risposta conterrà un code e un message in questo caso.

Di seguito è riportato un esempio di risposta batch con 1 riuscito e 1 risultato non riuscito:

{
    "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>

Parametri

Restituisce

post(RouteRequestRouteDirectionsBatchParameters)

L'API Post Route Directions Batch è una richiesta di POST HTTP che invia batch di query all'API Get Route Directions usando una singola richiesta asincrona. È possibile chiamare Route Directions Batch API per l'esecuzione asincrona (asincrona) o in modo sincrono (sincronizzazione). L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query. Per chiamare l'API Post Route Directions Batch in una richiesta sincrona, vedere Post Route Directions Batch Sync.

Inviare una richiesta batch asincrona

L'API asincrona è appropriata per l'elaborazione di grandi volumi di richieste di route relativamente complesse

  • Consente il recupero dei risultati in una chiamata separata (sono possibili più download).
  • L'API asincrona è ottimizzata per l'affidabilità e non dovrebbe verificarsi un timeout.
  • Il numero di elementi batch è limitato a 700 per questa API.

Quando si effettua una richiesta usando una richiesta asincrona, per impostazione predefinita il servizio restituisce un codice di risposta 202 lungo un URL di reindirizzamento nel campo Percorso dell'intestazione della risposta. Questo URL deve essere controllato periodicamente fino a quando non sono disponibili i dati di risposta o le informazioni sull'errore. Le risposte asincrone vengono archiviate per 24 ore. L'URL di reindirizzamento restituisce una risposta 404 se usata dopo il periodo di scadenza.

Si noti che la richiesta batch asincrona è un'operazione a esecuzione prolungata. Ecco una sequenza tipica di operazioni:

  1. Il client invia una richiesta di route Directions Batch POST a Mappe di Azure.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
  1. Il server risponderà con uno dei seguenti elementi:

    HTTP 202 Accepted: la richiesta batch è stata accettata.

    HTTP Error: si è verificato un errore durante l'elaborazione della richiesta batch. Può trattarsi di un 400 Bad Request o di qualsiasi altro codice di stato Error.

  2. Se la richiesta batch è stata accettata correttamente, l'intestazione Location nella risposta contiene l'URL per scaricare i risultati della richiesta batch. Questo URI di stato è simile al seguente:

GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. Il client invia una richiesta di GET nell'URL di download ottenuto nel passaggio 3 per scaricare i risultati del batch.

Corpo POST per la richiesta batch

Per inviare le indicazioni stradali query si userà una richiesta di POST in cui il corpo della richiesta conterrà la matrice batchItems in formato json e l'intestazione Content-Type verrà impostata su application/json. Ecco un corpo di richiesta di esempio contenente 3 indicazioni stradali query:

{
    "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" }
    ]
}

Una route directions query in un batch è solo un URL parziale senza il protocollo, l'URL di base, il percorso, la versione api e la chiave di sottoscrizione. Può accettare uno dei parametri URIsupportati indicazioni stradali. I valori stringa nella indicazioni stradali query devono essere preceduti da un carattere di escape corretto (ad esempio, " il carattere deve essere preceduto da un carattere di escape con \ ) e deve anche essere codificato correttamente con URL.

L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query e il batch deve contenere almeno 1 query.

Scaricare i risultati batch asincroni

Per scaricare i risultati del batch asincrono, verrà inviata una richiesta di GET all'endpoint di download batch. Questo 'URL di download può essere ottenuto dall'intestazione Location di una richiesta batch di POST riuscita e ha un aspetto simile al seguente:

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

Ecco la sequenza tipica di operazioni per scaricare i risultati del batch:

  1. Il client invia una richiesta di GET usando l'URL di download .

  2. Il server risponderà con uno dei seguenti elementi:

    HTTP 202 Accepted: la richiesta batch è stata accettata ma è ancora in corso di elaborazione. Riprovare in qualche tempo.

    Http 200 OK: richiesta batch elaborata correttamente. Il corpo della risposta contiene tutti i risultati del batch.

Modello di risposta batch

Il contenuto dei dati restituito è simile per le richieste asincrone e di sincronizzazione. Quando si scaricano i risultati di una richiesta batch asincrona, se il batch ha terminato l'elaborazione, il corpo della risposta contiene la risposta batch. Questa risposta batch contiene un componente summary che indica il totalRequests che fanno parte della richiesta batch originale e successfulRequestsad esempio le query eseguite correttamente. La risposta batch include anche una matrice di batchItems che contiene una risposta per ogni query e ogni query nella richiesta batch. Il batchItems conterrà i risultati nello stesso ordine in cui le query originali sono state inviate nella richiesta batch. Ogni elemento in batchItems contiene campi statusCode e response. Ogni response in batchItems è di uno dei tipi seguenti:

  • RouteDirections: se la query è stata completata correttamente.

  • Error: se la query non è riuscita. La risposta conterrà un code e un message in questo caso.

Di seguito è riportato un esempio di risposta batch con 1 riuscito e 1 risultato non riuscito:

{
    "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>

Parametri

Restituisce