Data V2 - Upload

Область применения: см. ценовые категории.

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

Важно!

Используя эту функцию, вы соглашаетесь с условиями предварительной версии юридических условий. Дополнительные сведения см. в дополнительных условиях предварительной версии .

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

Чтобы отправить содержимое, вы будете POST использовать запрос. Текст запроса будет содержать данные для отправки. Параметр dataFormat запроса будет содержать формат данных, dataSharingLevel параметр запроса может содержать уровень общего доступа для данных. Заголовок 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?api-version=2.0&dataFormat={dataFormat}
POST https://{geography}.atlas.microsoft.com/mapData?api-version=2.0&description={description}&dataFormat={dataFormat}

Параметры URI

Name In Required Type Description
geography
path True
  • string

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

api-version
query True
  • string

Номер версии API Azure Maps

dataFormat
query True

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

description
query
  • string

Описание для отправки.

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

Media Types: "application/json", "application/octet-stream"

Name Required Type Description
x-ms-client-id
  • string

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

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

Media Types: "application/json", "application/octet-stream"

Name Type Description
UploadContent
  • object

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

Ответы

Name Type Description
200 OK

Операция выполняется или завершается. Если операция прошла успешно, используйте заголовок Resource-Location для получения пути к результату.

Headers

  • Resource-Location: string
202 Accepted

Запрос принят: запрос был принят для обработки. Чтобы получить состояние, используйте URL-адрес в заголовке Operation-Location.

Headers

  • Operation-Location: string
Other Status Codes

Ограничение хранилища данных достигается в учетной записи Azure Maps. API удаления данных всегда можно использовать для удаления старого или неиспользуемого содержимого и создания пространства для новых отправлений.

Other Status Codes

Произошла непредвиденная ошибка.

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

AADToken

Это потоки OAuth2 Azure Active Directory . При связывании с управлением доступом на основе ролей Azure можно использовать для управления доступом к Azure Maps REST API. Элементы управления доступом на основе ролей Azure используются для назначения доступа к одной или нескольким Azure Maps учетной записи ресурсов или вложенным ресурсам. Доступ к любому пользователю, группе или субъекту-службе можно предоставить через встроенную роль или пользовательскую роль, состоящую из одного или нескольких разрешений для Azure Maps REST API.

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

Примечания

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

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

  • В настоящее время Azure Active Directory версии 1.0 или версии 2.0 поддерживает рабочие, учебные заведения и гости, но не поддерживает личные учетные записи.

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

Scopes

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

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

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

Для общедоступных приложений мы рекомендуем использовать доступ между серверами 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?api-version=2.0&dataFormat=geojson

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.126986,
          47.639754
        ]
      },
      "properties": {
        "geometryId": "001",
        "radius": 500
      }
    }
  ]
}

Sample Response

Resource-Location: https://us.atlas.microsoft.com/mapData/3e36b996-f6d1-b068-0fcb-dd6b014c3447?api-version=2.0
{
  "operationId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
  "created": "2021-04-20T22:43:14.9401559+00:00",
  "status": "Succeeded"
}
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location
{
  "error": {
    "code": "409 Conflict",
    "message": "The data storage limit is reached on the Azure Maps account. You can always use the Data Delete API to delete old/unused content and create space for new uploads."
  }
}

Определения

DataFormat

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

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorDetail

Сведения об ошибке.

ErrorResponse

Сообщение об ошибке

LongRunningOperationResult

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

LroStatus

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

DataFormat

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

Name Type Description
dwgzippackage
  • string

ZIP-пакет, содержащий ФАЙЛ DWG.

geojson
  • string

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

zip
  • string

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

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Name Type Description
info
  • object

Дополнительные сведения.

type
  • string

Дополнительный тип сведений.

ErrorDetail

Сведения об ошибке.

Name Type Description
additionalInfo

Дополнительные сведения об ошибке.

code
  • string

Код ошибки.

details

Сведения об ошибке.

message
  • string

Сообщение об ошибке.

target
  • string

Целевой объект ошибки.

ErrorResponse

Сообщение об ошибке

Name Type Description
error

Объект ошибки.

LongRunningOperationResult

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

Name Type Description
created
  • string

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

error

Сведения об ошибке.

operationId
  • string

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

status

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

warning

Сведения об ошибке.

LroStatus

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

Name Type Description
Failed
  • string

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

NotStarted
  • string

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

Running
  • string

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

Succeeded
  • string

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