RouteRequestRouteDirectionsBatch202Response interface
Post Route Directions Batch
-API:et är en HTTP-POST
begäran som skickar batchar med frågor till Get Route Directions API med hjälp av en enda asynkron begäran. Du kan anropa Route Directions Batch
API för att köra antingen asynkront (asynkront) eller synkront (synkronisering). Med asynkront API kan anroparen batcha upp till 700 frågor och synkronisera API:et upp till 100 frågor. Om du vill anropa Post Route Directions Batch
-API:et i en synkron begäran kan du läsa Batch-synkronisering efter vägbeskrivningar.
Skicka asynkron Batch-begäran
Asynkront API är lämpligt för bearbetning av stora volymer av relativt komplexa routningsbegäranden
- Det gör det möjligt att hämta resultat i ett separat anrop (flera nedladdningar är möjliga).
- Det asynkrona API:et är optimerat för tillförlitlighet och förväntas inte överskrida tidsgränsen.
- Antalet batchobjekt är begränsat till 700 för det här API:et.
När du gör en begäran med hjälp av en asynkron begäran returnerar tjänsten som standard en 202-svarskod längs en omdirigerings-URL i fältet Plats i svarshuvudet. Den här URL:en bör kontrolleras regelbundet tills svarsdata eller felinformation är tillgänglig. Asynkrona svar lagras i 24 timmar. Omdirigerings-URL:en returnerar ett 404-svar om det används efter förfalloperioden.
Observera att en asynkron batchbegäran är en tidskrävande åtgärd. Här är en typisk sekvens med åtgärder:
- Klienten skickar en Route Directions Batch-
POST
begäran till Azure Maps.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
Servern svarar med något av följande:
HTTP-
202 Accepted
– Batch-begäran har godkänts.HTTP-
Error
– Det uppstod ett fel vid bearbetning av Batch-begäran. Detta kan antingen vara en400 Bad Request
eller någon annanError
statuskod.Om batchbegäran godkändes innehåller
Location
-huvudet i svaret URL:en för att ladda ned resultatet av batchbegäran. Den här status-URI:n ser ut så här:
GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
- Klienten utfärdar en
GET
begäran om nedladdnings-URL hämtas i steg 3 för att ladda ned batchresultatet.
POST-brödtext för Batch-begäran
Om du vill skicka vägbeskrivningar frågor använder du en POST
begäran där begärandetexten innehåller batchItems
matrisen i json
format och Content-Type
-huvudet anges till application/json
. Här är ett exempel på begärandetext som innehåller 3 vägbeskrivningar frågor:
{
"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" }
]
}
En vägbeskrivningar fråga i en batch är bara en partiell URL-utan protokollet, bas-URL:en, sökvägen, api-versionen och prenumerationsnyckeln. Den kan acceptera någon av de vägbeskrivningar som stödsURI-parametrar. Strängvärdena i vägbeskrivningar frågan måste vara korrekt undantagna (t.ex. " tecknet ska vara undantaget med \ ) och det bör också vara korrekt URL-kodat.
Med api:et async kan anroparen batcha upp till 700 frågor och synkronisera API:et upp till 100 frågor, och batchen bör innehålla minst 1 fråga.
Ladda ned asynkrona Batch-resultat
Om du vill ladda ned asynkrona batchresultat utfärdar du en GET
begäran till batchnedladdningsslutpunkten. Den här nedladdnings-URL:en kan hämtas från Location
-huvudet för en lyckad POST
batchbegäran och ser ut så här:
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
Här är den typiska sekvensen med åtgärder för att ladda ned batchresultatet:
Klienten skickar en
GET
begäran med hjälp av nedladdnings-URL:en.Servern svarar med något av följande:
HTTP-
202 Accepted
– Batch-begäran godkändes men bearbetas fortfarande. Försök igen om en stund.HTTP-
200 OK
– Batch-begäran har bearbetats. Svarstexten innehåller alla batchresultat.
Batch-svarsmodell
Det returnerade datainnehållet liknar asynkroniserings- och synkroniseringsbegäranden. När du laddar ned resultatet av en asynkron batchbegäran innehåller svarstexten batchsvaret om batchen har slutfört bearbetningen. Det här batchsvaret innehåller en summary
komponent som anger totalRequests
som ingick i den ursprungliga batchbegäran och successfulRequests
dvs. frågor som har körts korrekt. Batch-svaret innehåller också en batchItems
matris som innehåller ett svar för varje fråga i batchbegäran.
batchItems
innehåller resultatet i exakt samma ordning som de ursprungliga frågorna skickades i batchbegäran. Varje objekt i batchItems
innehåller statusCode
och response
fält. Varje response
i batchItems
är av någon av följande typer:
RouteDirections
– Om frågan har slutförts.Error
– om frågan misslyckades. Svaret innehåller encode
och enmessage
i det här fallet.
Här är ett exempel på batchsvar med 1 lyckade och 1 misslyckades resultat:
{
"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
Egenskaper
headers | |
status |
Ärvda egenskaper
body | Parsad brödtext |
request | Begäran som genererade det här svaret. |
Egenskapsinformation
headers
headers: RawHttpHeaders & RouteRequestRouteDirectionsBatch202Headers
Egenskapsvärde
status
status: "202"
Egenskapsvärde
"202"
Information om ärvda egenskaper
body
Parsad brödtext
body: unknown
Egenskapsvärde
unknown
ärvd från HttpResponse.body
request
Begäran som genererade det här svaret.
request: PipelineRequest
Egenskapsvärde
ärvd från HttpResponse.request
Azure SDK for JavaScript