RouteRequestRouteDirectionsBatch202Response interface
Rozhraní API Post Route Directions Batch
je požadavek HTTP POST
, který odesílá dávky dotazů do Získání směrů tras api pomocí jednoho asynchronního požadavku. Můžete volat rozhraní API Route Directions Batch
tak, aby se spustilo asynchronně (async), nebo synchronně (synchronně). Asynchronní rozhraní API umožňuje volajícímu dávkovat až 700 dotazů a synchronizovat rozhraní API až do 100 dotazů. Pokud chcete volat rozhraní API Post Route Directions Batch
v synchronním požadavku, přečtěte si téma Směry směrování služby Batch Sync.
Odeslání asynchronního dávkového požadavku
Asynchronní rozhraní API je vhodné pro zpracování velkých objemů relativně složitých požadavků na trasu.
- Umožňuje načtení výsledků v samostatném volání (je možné stáhnout více souborů).
- Asynchronní rozhraní API je optimalizované pro spolehlivost a neočekává se, že dojde k vypršení časového limitu.
- Počet dávkových položek je omezený na 700 pro toto rozhraní API.
Když provedete požadavek pomocí asynchronního požadavku, služba ve výchozím nastavení vrátí kód odpovědi 202 podél adresy URL přesměrování v poli Umístění hlavičky odpovědi. Tato adresa URL by se měla pravidelně kontrolovat, dokud nebudou k dispozici data odpovědí nebo informace o chybě. Asynchronní odpovědi se ukládají po dobu 24 hodin. Adresa URL pro přesměrování vrátí odpověď 404, pokud se použije po uplynutí doby platnosti.
Upozorňujeme, že asynchronní dávkový požadavek je dlouhotrvající operace. Tady je typická posloupnost operací:
- Klient odešle do služby Azure Maps žádost o směrování služby Batch
POST
.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
Server odpoví jedním z následujících způsobů:
202 Accepted
HTTP – Žádost batch byla přijata.HTTP
Error
– Při zpracování požadavku batch došlo k chybě. Může to být400 Bad Request
nebo jakýkoli jiný stavový kódError
.Pokud se dávkový požadavek úspěšně přijal, hlavička
Location
v odpovědi obsahuje adresu URL pro stažení výsledků dávkové žádosti. Tento identifikátor URI stavu vypadá takto:
GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
- Klient vydá
GET
požadavek na adresu URL pro stažení získané v kroku 3 ke stažení výsledků dávky.
Text POST pro dávkový požadavek
Pokud chcete odeslat směr trasy dotazy, použijete požadavek POST
, kde text požadavku bude obsahovat pole batchItems
ve formátu json
a hlavička Content-Type
bude nastavená na application/json
. Tady je ukázkový text požadavku obsahující 3 směry trasy dotazy:
{
"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" }
]
}
Směr trasy dotazu v dávce je pouze částečná adresa URL bez protokolu, základní adresy URL, cesty, verze api a klíče předplatného. Může přijmout kterýkoli z podporovaných směrů trasyparametry identifikátoru URI. Řetězcové hodnoty v směrech trasy dotazu musí být správně uchycené (např. znak " by měl být uchvácen pomocí \ ) a měl by být také správně zakódován adresou URL.
Asynchronní rozhraní API umožňuje volajícímu dávkovat až 700 dotazů a synchronizovat rozhraní API až do 100 dotazů a dávka by měla obsahovat alespoň 1 dotaz.
Stažení asynchronních dávkových výsledků
Pokud chcete stáhnout asynchronní výsledky dávky, vydáte GET
požadavek na koncový bod dávkového stahování. Tuto adresu URL pro stažení
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
Tady je typická posloupnost operací pro stahování výsledků dávky:
Klient odešle požadavek
GET
pomocí adresy URL pro stažení .Server odpoví jedním z následujících způsobů:
202 Accepted
HTTP – Požadavek batch byl přijat, ale stále se zpracovává. Zkuste to prosím znovu za nějakou dobu.HTTP
200 OK
– Dávkové požadavky byly úspěšně zpracovány. Tělo odpovědi obsahuje všechny dávkové výsledky.
Model dávkové odpovědi
Vrácený datový obsah je podobný asynchronním a synchronizačním požadavkům. Při stahování výsledků asynchronní dávkové žádosti, pokud dávka dokončila zpracování, text odpovědi obsahuje dávkovou odpověď. Tato dávková odpověď obsahuje komponentu summary
, která označuje totalRequests
, které byly součástí původní dávkové žádosti a successfulRequests
tj. dotazy, které byly úspěšně provedeny. Dávková odpověď obsahuje také pole batchItems
, které obsahuje odpověď pro každý dotaz v dávkovém požadavku.
batchItems
bude obsahovat výsledky ve stejném pořadí, v jakém byly původní dotazy odeslány v dávkové žádosti. Každá položka v batchItems
obsahuje pole statusCode
a response
. Každý response
v batchItems
má jeden z následujících typů:
RouteDirections
– Pokud se dotaz úspěšně dokončil.Error
– Pokud dotaz selhal. Odpověď bude obsahovatcode
a v tomto případěmessage
.
Tady je ukázka dávkové odpovědi s 1 úspěšným a 1 neúspěšným výsledku:
{
"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."
}
}
}
]
}
- Extends
Vlastnosti
headers | |
status |
Zděděné vlastnosti
body | Parsované tělo |
request | Požadavek, který vygeneroval tuto odpověď. |
Podrobnosti vlastnosti
headers
headers: RawHttpHeaders & RouteRequestRouteDirectionsBatch202Headers
Hodnota vlastnosti
status
status: "202"
Hodnota vlastnosti
"202"
Podrobnosti zděděných vlastností
body
Parsované tělo
body: unknown
Hodnota vlastnosti
unknown
zděděno z HttpResponse.body
request
Požadavek, který vygeneroval tuto odpověď.
request: PipelineRequest
Hodnota vlastnosti
zděděno z HttpResponse.request
Azure SDK for JavaScript