Data V2 - Update

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

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

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

Обратите внимание, что API обновления заменит и переопределит существующее содержимое данных.

Важно!

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

Отправка запроса на обновление

Для обновления содержимого будет использоваться PUT запрос. Текст запроса будет содержать новые данные, которые заменят существующие данные. Заголовок Content-Type будет иметь тип контента данных, а путь будет содержать udid обновляемую информацию.

Например, чтобы обновить коллекцию геозон, которые ранее были отправлены с помощью API отправки, поместите новое содержимое геозоны в текст запроса. udid Задайте параметр в пути к udid данным, полученным ранее в ответе API отправки. И задайте для заголовка 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
        }
    }]
}

Ранее отправленная геозона имела радиус 100 м. Приведенный выше запрос обновит его до 500 млн.

API обновления данных выполняет длительный запрос.

Ограничения на обновление данных

Обратите внимание, что в настоящее время каждая учетная запись Azure Maps имеет ограничение на хранение данных. После достижения ограничения хранилища все новые вызовы API отправки будут возвращать ответ на ошибку 409 Conflict HTTP. API удаления данных всегда можно использовать для удаления старого или неиспользуемого содержимого и создания пространства для новых отправк.

PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=2.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=2.0&description={description}

Параметры URI

Name In Required Type Description
geography
path True
  • string

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

udid
path True
  • string

Уникальный идентификатор данных для содержимого. Он udid должен быть получен из успешного вызова API отправки данных .

api-version
query True
  • string

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

description
query
  • string

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

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

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

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

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

Name Type Description
UpdateContent
  • 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

Примеры

Update previously uploaded GeoJSON data containing geometries that represent a collection of geofences

Sample Request

PUT https://us.atlas.microsoft.com/mapData/25084fb7-307a-4720-8f91-7952a0b91012?api-version=2.0

{
  "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/{operationId}?api-version=1.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."
  }
}

Определения

ErrorAdditionalInfo

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

ErrorDetail

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

ErrorResponse

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

LongRunningOperationResult

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

LroStatus

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

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

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