RequestRouteDirectionsBatch interface
方法
get(Request |
下載異步批次結果若要下載異步批次結果,您將向批次下載端點發出
以下是下載批次結果的一般作業順序:
批次回應模型傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含
以下是 1 個成功 和 1 失敗 結果的批次回應範例:
|
post(Route |
提交異步批次要求異步 API 適用於處理大量相對複雜的路由要求
當您使用異步要求提出要求時,服務預設會在響應標頭的 [位置] 字段中傳回 202 回應碼以及重新導向 URL。 應該定期檢查此 URL,直到響應資料或錯誤資訊可用為止。 異步回應會儲存 24 小時。 如果到期期間之後使用,重新導向 URL 會傳回 404 回應。 請注意,異步批次要求是長時間執行的作業。 以下是一般作業順序:
批次要求的 POST 本文若要在查詢 傳送
批次中 查詢 異步 API 可讓呼叫者將最多 700 個 查詢批處理,並將 API 同步處理至最多 100 100 個 查詢,批次至少應包含 1 個 查詢。 下載異步批次結果若要下載異步批次結果,您將向批次下載端點發出
以下是下載批次結果的一般作業順序:
批次回應模型傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含
以下是 1 個成功 和 1 失敗 結果的批次回應範例:
|
方法詳細資料
get(RequestParameters)
Get Route Directions Batch
API 是 HTTP GET
要求,會使用單一要求將查詢批次傳送至 取得路由指示 API。 您可以呼叫 Get Route Directions Batch
API,以異步方式執行 (async) 或同步執行 (sync)。 異步 API 可讓呼叫者批處理最多 700
下載異步批次結果
若要下載異步批次結果,您將向批次下載端點發出 GET
要求。 此 下載 URL 可以從成功 Location
批次要求的 POST
標頭取得,如下所示:
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
以下是下載批次結果的一般作業順序:
用戶端會使用
GET
傳送 要求。伺服器會以下欄其中一項回應:
HTTP
202 Accepted
- 已接受 Batch 要求,但仍正在處理中。 請稍後再試一次。HTTP
200 OK
- 已成功處理批次要求。 回應本文包含所有批次結果。
批次回應模型
傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含 summary
元件,指出屬於原始批次要求一部分的 totalRequests
,以及成功執行的查詢 successfulRequests
。 批次回應也包含 batchItems
數位列,其中包含批次要求中每個查詢的回應。
batchItems
會以與批次要求中傳送原始查詢完全相同的順序來包含結果。
batchItems
中的每個專案都包含 statusCode
和 response
欄位。
response
中的每個 batchItems
都是下列其中一種類型:
RouteDirections
- 如果查詢成功完成。Error
- 如果查詢失敗。 在此案例中,回應會包含code
和message
。
以下是 1 個成功 和 1 失敗 結果的批次回應範例:
{
"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>
參數
- options
- RequestParameters
傳回
post(RouteRequestRouteDirectionsBatchParameters)
Post Route Directions Batch
API 是 HTTP POST
要求,會使用單一異步要求,將查詢批次傳送至 取得路由指示 API。 您可以呼叫 Route Directions Batch
API,以異步方式執行 (async) 或同步執行 (sync)。 異步 API 可讓呼叫者批處理最多 700 Post Route Directions Batch
API,請參閱 後路由指示批次同步處理。
提交異步批次要求
異步 API 適用於處理大量相對複雜的路由要求
- 它允許在不同的呼叫中擷取結果(可能有多個下載專案)。
- 異步 API 已針對可靠性進行優化,預計不會遇到逾時。
- 此 API 的批次項目數目限制為 700。
當您使用異步要求提出要求時,服務預設會在響應標頭的 [位置] 字段中傳回 202 回應碼以及重新導向 URL。 應該定期檢查此 URL,直到響應資料或錯誤資訊可用為止。 異步回應會儲存 24 小時。 如果到期期間之後使用,重新導向 URL 會傳回 404 回應。
請注意,異步批次要求是長時間執行的作業。 以下是一般作業順序:
- 用戶端會將路線指示批次
POST
要求傳送至 Azure 地圖服務。
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
伺服器會以下欄其中一項回應:
HTTP
202 Accepted
- 已接受 Batch 要求。HTTP
Error
- 處理 Batch 要求時發生錯誤。 這可能是400 Bad Request
或任何其他Error
狀態代碼。如果成功接受批次要求,回應中的
Location
標頭會包含下載批次要求結果的 URL。 此狀態 URI 如下所示:
GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
- 用戶端會在步驟 3 中取得
GET
發出 要求,以下載批次結果。
批次要求的 POST 本文
若要在查詢 傳送
{
"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" }
]
}
批次中 查詢
異步 API 可讓呼叫者將最多 700 個 查詢批處理,並將 API 同步處理至最多 100 100 個 查詢,批次至少應包含 1 個 查詢。
下載異步批次結果
若要下載異步批次結果,您將向批次下載端點發出 GET
要求。 此 下載 URL 可以從成功 Location
批次要求的 POST
標頭取得,如下所示:
https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
以下是下載批次結果的一般作業順序:
用戶端會使用
GET
傳送 要求。伺服器會以下欄其中一項回應:
HTTP
202 Accepted
- 已接受 Batch 要求,但仍正在處理中。 請稍後再試一次。HTTP
200 OK
- 已成功處理批次要求。 回應本文包含所有批次結果。
批次回應模型
傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含 summary
元件,指出屬於原始批次要求一部分的 totalRequests
,以及成功執行的查詢 successfulRequests
。 批次回應也包含 batchItems
數位列,其中包含批次要求中每個查詢的回應。
batchItems
會以與批次要求中傳送原始查詢完全相同的順序來包含結果。
batchItems
中的每個專案都包含 statusCode
和 response
欄位。
response
中的每個 batchItems
都是下列其中一種類型:
RouteDirections
- 如果查詢成功完成。Error
- 如果查詢失敗。 在此案例中,回應會包含code
和message
。
以下是 1 個成功 和 1 失敗 結果的批次回應範例:
{
"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>