Data - Update Preview
Запрос на обновление позволяет вызывающей стороны обновлять содержимое данных, отправленное ранее с помощью отправки данных.
Применимо к: Ценовая категория S1.
API обновления данных позволяет вызывающей объекту обновлять ранее отправленное содержимое данных.
Этот API можно использовать в сценарии добавления или удаления геозон в существующей коллекции геозон или из нее. Геозоны отправляются с помощью API отправки данных для использования в службе геозон Azure Maps.
Обратите внимание, что API обновления заменит и переопределит существующее содержимое данных.
Примечание
Прекращение поддержки службы данных Azure Maps
Служба данных Azure Maps (версии 1 и 2) теперь является устаревшей и будет прекращена 16.09.24. Чтобы избежать перебоев в работе службы, все вызовы к службе данных должны быть обновлены для использования службы реестра данных Azure Maps до 16.09.24. Дополнительные сведения см. в статье Создание реестра данных.
Отправка запроса на обновление
Чтобы обновить содержимое, используйте 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=1.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?subscription-key={subscription-key}&api-version=1.0
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
geography
|
path | True |
string |
Этот параметр указывает, где находится ресурс Azure Maps Creator. Допустимые значения: us и eu. |
udid
|
path | True |
string |
Уникальный идентификатор данных для содержимого. Объект |
api-version
|
query | True |
string |
Номер версии API Azure Maps Текущая версия — 1.0. |
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 см. в следующих статьях. |
Текст запроса
Имя | Тип | Описание |
---|---|---|
UpdateContent |
object |
Новое содержимое, которое обновит или заменит ранее отправленное содержимое. |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
Сбой обновления данных. Отправленное содержимое не удовлетворяет всем проверкам. Текст ответа содержит все возникшие ошибки. |
|
201 Created |
Ресурс успешно создан. Headers Location: string |
|
202 Accepted |
Поддерживается только для асинхронного запроса. Запрос принят: запрос принят для обработки. Используйте URL-адрес в заголовке расположения, чтобы повторить попытку или получить доступ к результатам. Headers Location: string |
|
400 Bad Request |
Недопустимый запрос: один или несколько параметров были указаны неправильно или являются взаимоисключающими. |
|
401 Unauthorized |
Доступ запрещен из-за недопустимого ключа подписки или недопустимого маркера носителя Microsoft Entra ID. Обязательно укажите действительный ключ для активной подписки Azure и ресурса Maps. В противном случае проверьте заголовок WWW-Authenticate на наличие кода ошибки и описание предоставленного маркера носителя Microsoft Entra ID. Headers WWW-Authenticate: string |
|
403 Forbidden |
Проблемы с разрешениями, емкостью или проверкой подлинности. |
|
404 Not Found |
Не найдено: не удалось найти запрошенный ресурс, но он может быть снова доступен в будущем. |
|
500 Internal Server Error |
При обработке этого запроса возникла ошибка. Повторите попытку позже. |
Безопасность
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 можно использовать, чтобы разрешить приложениям управлять доступом более безопасным способом, чем общий ключ.
Для общедоступных приложений мы рекомендуем настроить определенный список разрешенных источников в ресурсе учетной записи map , чтобы ограничить использование маркера 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?subscription-key=[subscription-key]&api-version=1.0
{
"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 Azure Maps. |
OData |
Этот объект ответа возвращается при возникновении ошибки в API Azure Maps. |
type |
Состояние запроса. |
LongRunningOperationResult
Модель ответа для API операций Long-Running.
Имя | Тип | Описание |
---|---|---|
created |
string |
Созданная метка времени. |
error |
Этот объект возвращается при возникновении ошибки в API Azure Maps. |
|
operationId |
string |
Идентификатор для этой длительной операции. |
resourceLocation |
string |
URI расположения для получения сведений о созданном ресурсе. Это предоставляется только при успешном выполнении запроса. |
status |
Состояние запроса. |
|
warning |
Этот объект возвращается при возникновении ошибки в API Azure Maps. |
ODataError
Этот объект возвращается при возникновении ошибки в API Azure Maps.
Имя | Тип | Описание |
---|---|---|
code |
string |
Код ODataError. |
details |
Этот объект возвращается при возникновении ошибки в API Azure Maps. |
|
message |
string |
Если доступно, это понятное описание ошибки. |
target |
string |
Если доступно, целевой объект, вызывающий ошибку. |
ODataErrorResponse
Этот объект ответа возвращается при возникновении ошибки в API Azure Maps.
Имя | Тип | Описание |
---|---|---|
error |
Этот объект возвращается при возникновении ошибки в API Azure Maps. |
type
Состояние запроса.
Имя | Тип | Описание |
---|---|---|
Failed |
string |
Запрос имеет один или несколько сбоев. |
NotStarted |
string |
Запрос еще не начал обработку. |
Running |
string |
Запрос начал обработку. |
Succeeded |
string |
Запрос успешно завершен. |