你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Data - Update

用于更新以前使用数据上传上传 的数据内容。

注意

Azure Maps 数据服务停用

Azure Maps 数据服务(v1v2)现已弃用,并将于 2024 年 9 月 16 日开始停用。 为了避免服务中断,对数据服务的所有调用都需要在 2024 年 9 月 16 日之前更新为使用 Azure Maps 数据注册表服务。 有关详细信息,请参阅如何创建数据注册表

API Data Update 是一个 HTTP PUT 请求,它允许调用方更新以前上传的数据内容。

可以在向或从现有地理围栏集合添加或删除地理围栏等方案中使用此 API。 地理围栏是使用 数据上传 API 上传 的,用于 Azure Maps 地理围栏服务

请注意,更新 API 将 替换替代 现有数据内容。

重要

使用此功能即表示你同意预览版法律条款。 有关更多详细信息,请参阅 预览版补充条款

提交更新请求

若要更新内容,请使用请求 PUT 。 请求正文将包含将替换现有数据的新数据。 标头 Content-Type 将设置为数据的内容类型,路径将包含 udid 要更新的数据的 。

例如,若要更新以前使用上传 API 上传的地理围栏集合,请将新的地理围栏内容放在请求正文中。 udid将之前在上传 API 响应中收到的数据的 路径udid中的 参数设置为 。 并将标头设置为 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 参数

名称 必需 类型 说明
geography
path True

string

此参数指定 Azure Maps Creator 资源所在的位置。 有效值是 us 和 eu。

udid
path True

string

内容的唯一数据 ID。 udid必须已从成功的数据上传调用中获取 。

api-version
query True

string

Azure Maps API 的版本号。

description
query

string

要提供给上传的说明。

请求头

名称 必需 类型 说明
x-ms-client-id

string

指定要与 Microsoft Entra ID 安全模型一起使用的帐户。 它表示 Azure Maps 帐户的唯一 ID,可以从 Azure Maps 管理平面帐户 API 检索。 若要在 Azure Maps 中使用 Microsoft Entra ID 安全性,请参阅以下 文章 以获取指导。

请求正文

名称 类型 说明
UpdateContent

object

将更新/替换以前上传的内容的新内容。

响应

名称 类型 说明
200 OK

LongRunningOperationResult

操作正在运行或已完成。 如果操作成功,请使用 Resource-Location 标头获取结果的路径。

标头

Resource-Location: string

202 Accepted

请求已接受:已接受请求进行处理。 请使用 Operation-Location 标头中的 URL 获取状态。

标头

Operation-Location: string

Other Status Codes

ErrorResponse

在 Azure Maps 帐户上达到 数据存储限制 。 始终可以使用 数据删除 API 删除旧内容/未使用的内容,并为新上传创建空间。

Other Status Codes

ErrorResponse

发生了意外错误。

安全性

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 门户、PowerShell、CLI、Azure SDK 或 REST API 从 Azure 管理平面 配置的。 * 使用 Azure Maps Web SDK 可以基于配置设置多个用例的应用程序。

类型: 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 门户中或使用 PowerShell、CLI、Azure SDK 或 REST API 创建 Azure Maps 帐户 时预配的共享密钥。

使用此密钥,任何应用程序都可以访问所有 REST API。 换句话说,此密钥可以用作颁发它们的帐户中的主密钥。

对于公开的应用程序,我们建议使用 机密客户端应用程序 方法来访问 Azure Maps REST API,以便安全地存储密钥。

类型: apiKey
在: query

SAS Token

这是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面通过 Azure Maps 资源 上的列出 SAS 操作创建的共享访问签名令牌。

使用此令牌,任何应用程序都有权使用 Azure 基于角色的访问控制进行访问,并精细控制特定令牌的过期、速率和区域 () 。 换句话说,SAS 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。

对于公开的应用程序,我们建议在 映射帐户资源 上配置允许的来源的特定列表,以限制呈现滥用,并定期续订 SAS 令牌。

类型: apiKey
在: 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

Long-Running 操作 API 的响应模型。

LroStatus

请求的状态。

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

LongRunningOperationResult

Long-Running 操作 API 的响应模型。

名称 类型 说明
created

string

创建的时间戳。

error

ErrorDetail

错误详细信息。

operationId

string

此长时间运行的操作的 ID。

status

LroStatus

请求的状态。

warning

ErrorDetail

错误详细信息。

LroStatus

请求的状态。

名称 类型 说明
Failed

string

请求有一个或多个失败。

NotStarted

string

请求尚未开始处理。

Running

string

请求已开始处理。

Succeeded

string

请求已成功完成。