Data - Upload Preview

Запрос на отправку позволяет вызывающей стороны передавать содержимое данных в свою учетную запись Azure Maps.
Применимо к: Ценовая категория S1.

API отправки данных позволяет вызывающей объекту отправлять содержимое данных в службу Azure Maps. Этот API можно использовать в таком сценарии, как отправка коллекции геозон в GeoJSON формате для использования в нашей службе геозон Azure Maps.

Примечание

Прекращение поддержки службы данных Azure Maps

Служба данных Azure Maps (версии 1 и 2) устарела и будет прекращена 24.09.24. Чтобы избежать перебоев в работе службы, необходимо обновить все вызовы к службе данных для использования службы реестра данных Azure Maps до 24.09.09.24. Дополнительные сведения см. в статье Создание реестра данных.

Отправка запроса на отправку

Для отправки содержимого используйте POST запрос. Текст запроса будет содержать данные для отправки. Для Content-Type заголовка будет задан тип содержимого данных.

Например, чтобы отправить коллекцию геозон в GeoJSON формате, задайте в тексте запроса содержимое геозоны. dataFormat Задайте для параметра запроса значение geojson, а для заголовка 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://{geography}.atlas.microsoft.com/mapData/upload?api-version=1.0&dataFormat={dataFormat}
POST https://{geography}.atlas.microsoft.com/mapData/upload?subscription-key={subscription-key}&api-version=1.0&dataFormat={dataFormat}

Параметры URI

Имя В Обязательно Тип Описание
geography
path True

string

Этот параметр указывает, где находится ресурс Azure Maps Creator. Допустимые значения: us и eu.

api-version
query True

string

Номер версии API Azure Maps Текущая версия — 1.0.

dataFormat
query True

UploadDataFormat

Формат данных отправляемого содержимого.

subscription-key
query

string

Один из ключей Azure Maps, предоставляемых из учетной записи Azure Maps. Дополнительные сведения об управлении проверкой подлинности см. в этой статье .

Заголовок запроса

Имя Обязательно Тип Описание
x-ms-client-id

string

Указывает учетную запись, предназначенную для использования в сочетании с моделью безопасности Microsoft Entra ID. Он представляет уникальный идентификатор для учетной записи Azure Maps и может быть получен из API учетной записи уровня управления Azure Maps. Инструкции по использованию Microsoft Entra ID безопасности в Azure Maps см. в следующих статьях.

Текст запроса

Имя Тип Описание
UploadContent

object

Содержимое для отправки.

Ответы

Имя Тип Описание
200 OK

ODataErrorResponse

Сбой отправки данных. Отправленное содержимое не удовлетворяет всем проверкам. Текст ответа содержит все возникшие ошибки.

201 Created

LongRunningOperationResult

Ресурс успешно создан.

Headers

Location: string

202 Accepted

Поддерживается только для асинхронного запроса. Запрос принят: запрос принят для обработки. Используйте URL-адрес в заголовке расположения, чтобы повторить попытку или получить доступ к результатам.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Недопустимый запрос: один или несколько параметров были указаны неправильно или являются взаимоисключающими.

401 Unauthorized

ODataErrorResponse

Доступ запрещен из-за недопустимого ключа подписки или недопустимого маркера носителя Microsoft Entra ID. Обязательно укажите действительный ключ для активной подписки Azure и ресурса Maps. В противном случае проверьте заголовок WWW-Authenticate на наличие кода ошибки и описания предоставленного маркера носителя Microsoft Entra ID.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

Проблемы с разрешениями, емкостью или проверкой подлинности.

404 Not Found

ODataErrorResponse

Не найдено. Не удалось найти запрошенный ресурс, но он может быть снова доступен в будущем.

500 Internal Server Error

ODataErrorResponse

При обработке этого запроса возникла ошибка. Повторите попытку позже.

Безопасность

AADToken

Это Microsoft Entra потоков OAuth 2.0. В сочетании с управлением доступом на основе ролей Azure его можно использовать для управления доступом к Azure Maps REST API. Элементы управления доступом на основе ролей Azure используются для назначения доступа к одной или нескольким учетным записям Azure Maps ресурсов или вложенным ресурсам. Любому пользователю, группе или субъекту-службе может быть предоставлен доступ через встроенную или пользовательскую роль, состоящую из одного или нескольких разрешений для Azure Maps REST API.

Для реализации сценариев рекомендуется ознакомиться с основными понятиями проверки подлинности. Таким образом, это определение безопасности предоставляет решение для моделирования приложений с помощью объектов, которые могут управлять доступом к определенным API и областям.

Примечания

  • Это определение безопасности требует использования заголовкаx-ms-client-id, чтобы указать, к какому Azure Maps ресурсу приложение запрашивает доступ. Его можно получить из API управления Картами.

объект Authorization URL предназначен для экземпляра общедоступного облака Azure. Национальные облака имеют уникальные URL-адреса авторизации и конфигурации Microsoft Entra ID. * Управление доступом на основе ролей Azure настраивается из плоскости управления Azure с помощью портал Azure, PowerShell, CLI, пакетов SDK для Azure или REST API. * Использование веб-пакета SDK для Azure Maps позволяет настраивать приложение на основе конфигурации для нескольких вариантов использования.

  • Дополнительные сведения о платформа удостоверений Майкрософт см. в платформа удостоверений Майкрософт обзоре.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Имя Описание
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Это общий ключ, который подготавливается при создании учетной записи Azure Maps в портал Azure или с помощью PowerShell, CLI, пакетов AZURE SDK или REST API.

С помощью этого ключа любое приложение может получить доступ ко всем REST API. Иными словами, этот ключ можно использовать в качестве ключа master в учетной записи, в которую они выдаются.

Для общедоступных приложений мы рекомендуем использовать подход конфиденциальных клиентских приложений для доступа к Azure Maps REST API, чтобы ключ можно было безопасно хранить.

Type: apiKey
In: query

SAS Token

Этот маркер подписанного URL-адреса создается из операции List SAS в ресурсе Azure Maps через плоскость управления Azure с помощью портал Azure, PowerShell, CLI, пакетов SDK для Azure или REST API.

С помощью этого маркера любое приложение авторизовано для доступа с помощью элементов управления доступом на основе ролей Azure и точного контроля срока действия, скорости и регионов использования конкретного маркера. Иными словами, маркер SAS можно использовать, чтобы разрешить приложениям управлять доступом более безопасным способом, чем общий ключ.

Для общедоступных приложений мы рекомендуем настроить определенный список разрешенных источников в ресурсе учетной записи сопоставления , чтобы ограничить злоупотребление отрисовкой и регулярно обновлять маркер SAS.

Type: apiKey
In: header

Примеры

Upload GeoJSON data containing geometries that represent a collection of geofences

Sample Request

POST https://us.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"
}
operation-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."
  }
}

Определения

Имя Описание
LongRunningOperationResult

Модель ответа для API операций Long-Running.

ODataError

Этот объект возвращается при возникновении ошибки в API Azure Maps.

ODataErrorResponse

Этот объект ответа возвращается при возникновении ошибки в API Azure Maps.

type

Состояние запроса.

UploadDataFormat

Формат данных отправляемого содержимого.

LongRunningOperationResult

Модель ответа для API операций Long-Running.

Имя Тип Описание
created

string

Созданная метка времени.

error

ODataError

Этот объект возвращается при возникновении ошибки в API Azure Maps.

operationId

string

Идентификатор для этой длительной операции.

resourceLocation

string

URI расположения для сведений о созданном ресурсе. Это предоставляется только после успешного выполнения запроса.

status

type

Состояние запроса.

warning

ODataError

Этот объект возвращается при возникновении ошибки в API Azure Maps.

ODataError

Этот объект возвращается при возникновении ошибки в API Azure Maps.

Имя Тип Описание
code

string

Код ODataError.

details

ODataError[]

Этот объект возвращается при возникновении ошибки в API Azure Maps.

message

string

При наличии — понятное описание ошибки.

target

string

Если доступно, целевой объект, вызывающий ошибку.

ODataErrorResponse

Этот объект ответа возвращается при возникновении ошибки в API Azure Maps.

Имя Тип Описание
error

ODataError

Этот объект возвращается при возникновении ошибки в API Azure Maps.

type

Состояние запроса.

Имя Тип Описание
Failed

string

Запрос имеет один или несколько сбоев.

NotStarted

string

Запрос еще не начал обработку.

Running

string

Запрос начал обработку.

Succeeded

string

Запрос успешно завершен.

UploadDataFormat

Формат данных отправляемого содержимого.

Имя Тип Описание
geojson

string

GeoJSON — это формат обмена геопространственных данных на основе JSON.

zip

string

Сжатый формат данных.