Data - Upload Preview
API передачи данных
Применимо к: Ценовая категория S1.
API передачи данных позволяет вызывающему объекту передавать содержимое данных в службу Azure Maps.
Этот API можно использовать в сценарии, например при отправке коллекции геозаборов в GeoJSON
формате, для использования в нашей Azure Maps службе геоограждения.
Отправить запрос на отправку
Для отправки содержимого будет использоваться POST
запрос. Текст запроса будет содержать данные для отправки. dataFormat
Параметр запроса будет содержать формат данных, dataSharingLevel
параметр запроса может содержать уровень общего доступа для данных. Content-Type
Для заголовка будет задан тип содержимого данных.
Например, чтобы передать коллекцию геозаборов в GeoJSON
формате, задайте для текста запроса содержимое геозоны. Задайте dataFormat
для параметра запроса значение геоjson и задайте Content-Type
для заголовка один из следующих типов носителей:
application/json
application/vnd.geo+json
application/octet-stream
Ниже приведен пример текста запроса для отправки простого геозоны, представленного в виде круговой геометрии с помощью центральной точки и радиуса. Пример ниже GeoJSON
:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
API передачи данных выполняет длительный запрос.
Ограничения на передачу данных
Обратите внимание, что в настоящее время каждая учетная запись Azure Maps имеет ограничение на объем хранилища данных. После достижения предела хранилища все новые вызовы API передачи будут возвращать 409 Conflict
ответ об ошибке HTTP. Вы всегда можете использовать API удаления данных , чтобы удалить старое или неиспользуемое содержимое и создать пространство для новых отправок.
POST https://atlas.microsoft.com/mapData/upload?api-version=1.0&dataFormat={dataFormat}
POST https://atlas.microsoft.com/mapData/upload?subscription-key={subscription-key}&api-version=1.0&dataFormat={dataFormat}
Параметры URI
Name | In | Required | Type | Description |
---|---|---|---|---|
api-version
|
query | True |
|
Номер версии Azure Maps API. Текущая версия — 1,0 |
data
|
query | True |
Формат данных отправляемого содержимого. |
|
subscription-key
|
query |
|
Один из Azure Maps ключей, предоставленных из учетной записи службы "схема Azure". Дополнительные сведения об управлении проверкой подлинности см. в этой статье . |
Заголовок запроса
Name | Required | Type | Description |
---|---|---|---|
x-ms-client-id |
|
Указывает, какая учетная запись предназначена для использования в сочетании с моделью безопасности Azure AD. Он представляет уникальный идентификатор учетной записи Azure Maps и может быть получен из Azure Maps API учетной записи плоскости управления. Для использования безопасности Azure AD в Azure Maps см. инструкции в следующих статьях . |
Текст запроса
Name | Type | Description |
---|---|---|
UploadContent |
|
Содержимое для отправки. |
Ответы
Name | Type | Description |
---|---|---|
200 OK |
Не удалось отправить данные. Отправленное содержимое не удовлетворяет всем проверкам. Текст ответа содержит все обнаруженные ошибки. |
|
201 Created |
Ресурс успешно создан. Headers
|
|
202 Accepted |
Поддерживается только для асинхронных запросов. Запрос принят: запрос принят на обработку. Используйте URL-адрес в заголовке Location, чтобы повторить попытку или получить доступ к результатам. Headers
|
|
400 Bad Request |
Недопустимый запрос: один или несколько параметров были неправильно указаны или являются взаимоисключающими. |
|
401 Unauthorized |
Отказано в доступе из-за недопустимого ключа подписки или токена носителя Azure Active Directory. Обязательно укажите допустимый ключ для активной подписки Azure и сопоставляет ресурс. В противном случае проверьте заголовок WWW-Authenticate для кода ошибки и описание предоставленного токена носителя AAD. Headers
|
|
403 Forbidden |
Проблемы с разрешением, емкостью или проверкой подлинности. |
|
404 Not Found |
Не найдено: не удалось найти запрошенный ресурс, но он может быть снова доступен в будущем. |
|
500 Internal Server Error |
При обработке этого запроса возникла ошибка. Повторите попытку позже. |
Безопасность
azure_auth
Это Azure Active Directory потоки OAuth2 . В сочетании с контролем доступа на основе ролей Azure ее можно использовать для управления доступом к Azure Maps интерфейсам API. Элементы управления доступом на основе ролей Azure используются для обозначения доступа к одной или нескольким Azure Maps учетной записи ресурса или подресурсам. Любому пользователю, группе или субъекту-службе можно предоставить доступ через встроенную роль или пользовательскую роль, состоящую из одного или нескольких разрешений для Azure Maps интерфейсов API.
Для реализации сценариев рекомендуется просмотреть Основные понятия проверки подлинности. В целом это определение безопасности предоставляет решение для моделирования приложений с помощью объектов, способных управлять доступом к конкретным интерфейсам API и областям.
Примечание
- Это определение безопасности требует использования
x-ms-client-id
заголовка для указания того, какой Azure Maps ресурс, к которому приложение запрашивает доступ. Это можно получить с помощью API управления картами. Authorization URL
Относится только к экземпляру общедоступного облака Azure. Облака независимых имеют уникальные URL-адреса авторизации и конфигурации Azure Active Directory.- Управление доступом на основе ролей Azure настраивается на плоскости управления Azure с помощью портал Azure, POWERSHELL, CLI, пакетов SDK для Azure или интерфейсов API.
- Использование веб-пакета SDK Azure Maps позволяет настроить приложение на основе конфигурации для нескольких вариантов использования.
- Сейчас поддерживаются маркеры Azure Active Directory v 1.0 .
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
subscription-key
Это общий ключ, который подготавливается при создании Azure Maps ресурса с помощью плоскости управления Azure с помощью портал Azure, POWERSHELL, CLI, пакетов SDK для Azure или интерфейсов API. С помощью этого ключа любое приложение имеет право доступа ко всем интерфейсам API-интерфейса RESTFUL. Другими словами, в настоящее время они могут рассматриваться как главные ключи для учетной записи, для которой они выдаются. Для общедоступных приложений мы рекомендуем использовать сервер для доступа к Azure Maps API-интерфейсам RESTFUL, где этот ключ можно безопасно хранить.
Type:
apiKey
In:
query
Примеры
Upload GeoJSON data containing geometries that represent a collection of geofences
Sample Request
POST https://atlas.microsoft.com/mapData/upload?subscription-key=[subscription-key]&api-version=1.0&dataFormat=geojson
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.126986,
47.639754
]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}
]
}
Sample Response
Location: https://atlas.microsoft.com/mapData/metadata/{udid}?api-version=1.0
Access-Control-Expose-Headers: Location
{
"operationId": "{operationId}",
"status": "Succeeded",
"created": "2020-01-02 1:02:03 AM +00:00",
"resourceLocation": "https://atlas.microsoft.com/mapData/metadata/{resourceId}?api-version=1.0"
}
Location: https://atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0
Access-Control-Expose-Headers: Location
{
"error": {
"code": "400 Bad Request",
"message": "Upload request failed. Your data has been removed as we encountered the following problems with it: Map data is not a valid GeoJSON geometry."
}
}
{
"error": {
"code": "400 BadRequest",
"message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
}
}
{
"error": {
"code": "401 Unauthorized",
"message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}
}
{
"error": {
"code": "403 Forbidden",
"message": "Permission, capacity, or authentication issues."
}
}
{
"error": {
"code": "404 NotFound",
"message": "Not Found: the requested resource could not be found, but it may be available again in the future."
}
}
{
"error": {
"code": "500 InternalServerError",
"message": "An error occurred while processing the request. Please try again later."
}
}
Определения
Long |
Модель отклика для API Long-Runningных операций. |
OData |
Этот объект возвращается при возникновении ошибки в API Maps. |
OData |
Этот объект ответа возвращается при возникновении ошибки в API Maps. |
type |
Состояние запроса. |
Upload |
Формат данных отправляемого содержимого. |
LongRunningOperationResult
Модель отклика для API Long-Runningных операций.
Name | Type | Description |
---|---|---|
created |
|
Созданная метка времени. |
error |
Этот объект возвращается при возникновении ошибки в API Maps. |
|
operationId |
|
Идентификатор для этой длительной операции. |
resourceLocation |
|
URI расположения для получения сведений о созданном ресурсе. Он предоставляется только при успешном завершении запроса. |
status |
Состояние запроса. |
|
warning |
Этот объект возвращается при возникновении ошибки в API Maps. |
ODataError
Этот объект возвращается при возникновении ошибки в API Maps.
Name | Type | Description |
---|---|---|
code |
|
Код ODataError. |
details |
Этот объект возвращается при возникновении ошибки в API Maps. |
|
message |
|
Понятное текстовое описание ошибки, если оно доступно. |
target |
|
Если это возможно, целевой объект, вызвавший ошибку. |
ODataErrorResponse
Этот объект ответа возвращается при возникновении ошибки в API Maps.
Name | Type | Description |
---|---|---|
error |
Этот объект возвращается при возникновении ошибки в API Maps. |
type
Состояние запроса.
Name | Type | Description |
---|---|---|
Failed |
|
Запрос содержит один или несколько сбоев. |
NotStarted |
|
Запрос еще не начал обработку. |
Running |
|
Запрос начал обработку. |
Succeeded |
|
Запрос успешно завершен. |
UploadDataFormat
Формат данных отправляемого содержимого.
Name | Type | Description |
---|---|---|
geojson |
|
Геоjson — это формат обмена геопространственных данных на основе JSON. |
zip |
|
Формат сжатых данных. |