RouteRequestRouteDirectionsBatch200Response interface
Post Route Directions Batch API,tek bir zaman uyumsuz istek kullanarak POST API'sine toplu sorgular gönderen bir HTTP isteğidir. zaman uyumsuz (zaman uyumsuz) veya zaman uyumlu (eşitleme) çalıştırmak için Route Directions Batch API'sini çağırabilirsiniz. Zaman uyumsuz API, çağıranın en fazla 700 sorguyu toplu olarak çalıştırmasına ve API'yi en fazla 100 sorgu eşitlemesine olanak tanır. Zaman uyumlu bir istekte Post Route Directions Batch API'sini çağırmak için bkz. Yol Tarifleri Sonrası Batch Eşitleme.
Zaman Uyumsuz Toplu İş İsteği Gönderme
Zaman Uyumsuz API, büyük hacimli nispeten karmaşık rota isteklerini işlemek için uygundur
- Sonuçların ayrı bir çağrıda alınmasına izin verir (birden çok indirme mümkündür).
- Zaman uyumsuz API güvenilirlik için iyileştirilmiştir ve zaman aşımıyla karşılaşılmaması beklenmemektedir.
- Toplu iş öğelerinin sayısı, bu API için 700 ile sınırlıdır.
Zaman uyumsuz istek kullanarak istekte bulunduğunuzda, hizmet varsayılan olarak yanıt üst bilgisinin Konum alanında bir yeniden yönlendirme URL'si boyunca bir 202 yanıt kodu döndürür. Yanıt verileri veya hata bilgileri kullanılabilir olana kadar bu URL düzenli aralıklarla denetlenmelidir. Zaman uyumsuz yanıtlar 24 saat boyunca depolanır. Yeniden yönlendirme URL'si, süre sonundan sonra kullanılırsa bir 404 yanıtı döndürür.
Zaman uyumsuz toplu iş isteğinin uzun süre çalışan bir işlem olduğunu lütfen unutmayın. Aşağıda tipik bir işlem dizisi verilmiştir:
- İstemci, Azure Haritalar'a bir Yol Tarifleri Toplu
POSTisteği gönderir.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
Sunucu aşağıdakilerden biriyle yanıt verir:
HTTP
202 Accepted- Toplu iş isteği kabul edildi.HTTP
Error- Batch isteğiniz işlenirken bir hata oluştu. Bu bir400 Bad Requestveya başka birErrordurum kodu olabilir.Toplu iş isteği başarıyla kabul edildiyse, yanıttaki
Locationüst bilgisi toplu iş isteğinin sonuçlarını indirme URL'sini içerir. Bu durum URI'si aşağıdaki gibi görünür:
GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
- İstemci, toplu iş sonuçlarını indirmek için 3. Adımda elde edilen
GETbir isteği gönderir.
Toplu İstek için POST Gövdesi
yol tariflerini sorgular göndermek için, istek gövdesinin POST dizisini batchItems biçimde içereceği ve json üst bilgisinin Content-Typeolarak ayarlanacağı bir application/json isteği kullanırsınız. Sorgular 3
{
"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" }
]
}
Bir toplu işte sorgu
Zaman uyumsuz API, çağıranın en fazla 700 sorguyu toplu işlemesine ve API'yi en fazla 100 sorgu eşitlemesine olanak tanır ve toplu işlem en az 1 sorgu içermelidir.
Zaman Uyumsuz Toplu İş Sonuçlarını İndirme
Zaman uyumsuz toplu iş sonuçlarını indirmek için toplu indirme uç noktasına bir GET isteği gönderirsiniz. Bu indirme URL'si, başarılı bir Location toplu işleminin POST üst bilgisinden alınabilir ve aşağıdaki gibi görünür:
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
Toplu iş sonuçlarını indirmeye yönelik tipik işlem dizisi aşağıda verilmiştir:
İstemci,
indirme URL'sini kullanarak bir isteği gönderir. Sunucu aşağıdakilerden biriyle yanıt verir:
HTTP
202 Accepted- Toplu iş isteği kabul edildi ancak hala işleniyor. Lütfen bir süre sonra yeniden deneyin.HTTP
200 OK- Toplu iş isteği başarıyla işlendi. Yanıt gövdesi tüm toplu iş sonuçlarını içerir.
Batch Yanıt Modeli
Döndürülen veri içeriği, zaman uyumsuz ve eşitleme istekleri için benzerdir. Zaman uyumsuz toplu iş isteğinin sonuçları indirilirken, toplu işin işlenmesi tamamlandıysa, yanıt gövdesi toplu iş yanıtını içerir. Bu toplu iş yanıtı, özgün toplu iş isteğinin parçası olan summary ve başarıyla yürütülen sorgular totalRequestsgösteren bir successfulRequests bileşeni içerir. Toplu yanıt, toplu iş isteğindeki her sorgu için bir yanıt içeren bir batchItems dizisi de içerir.
batchItems, sonuçları özgün sorguların toplu iş isteğinde gönderildiği sırayla içerir.
batchItems'deki her öğe statusCode ve response alanları içerir.
response'daki her batchItems aşağıdaki türlerden biridir:
RouteDirections- Sorgu başarıyla tamamlandıysa.Error- Sorgu başarısız olduysa. Yanıt, bu durumda bircodeve birmessageiçerir.
Aşağıda 1 başarılı ve 1 başarısız sonucu içeren örnek bir Toplu yanıt verilmişti:
{
"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
Özellik Ayrıntıları
body
status
status: "200"
Özellik Değeri
"200"
Devralınan Özellik Detayları
headers
HTTP yanıt üst bilgileri.
headers: RawHttpHeaders
Özellik Değeri
httpresponse.headers devralınmış
request
Bu yanıtı oluşturan istek.
request: PipelineRequest
Özellik Değeri
httpresponse.request devralındı