你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Data - Update
用于更新以前使用数据上传上传 的数据内容。
注意
Azure Maps 数据服务停用
Azure Maps 数据服务(v1 和 v2)现已弃用,并将于 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。 |
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 |
操作正在运行或已完成。 如果操作成功,请使用 Resource-Location 标头获取结果的路径。 标头 Resource-Location: string |
|
202 Accepted |
请求已接受:已接受请求进行处理。 请使用 Operation-Location 标头中的 URL 获取状态。 标头 Operation-Location: string |
|
Other Status Codes |
在 Azure Maps 帐户上达到 数据存储限制 。 始终可以使用 数据删除 API 删除旧内容/未使用的内容,并为新上传创建空间。 |
|
Other Status Codes |
发生了意外错误。 |
安全性
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 可以基于配置设置多个用例的应用程序。
- 有关Microsoft标识平台的详细信息,请参阅 Microsoft标识平台概述。
类型:
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."
}
}
定义
名称 | 说明 |
---|---|
Error |
资源管理错误附加信息。 |
Error |
错误详细信息。 |
Error |
错误响应 |
Long |
Long-Running 操作 API 的响应模型。 |
Lro |
请求的状态。 |
ErrorAdditionalInfo
资源管理错误附加信息。
名称 | 类型 | 说明 |
---|---|---|
info |
object |
其他信息。 |
type |
string |
其他信息类型。 |
ErrorDetail
错误详细信息。
名称 | 类型 | 说明 |
---|---|---|
additionalInfo |
错误附加信息。 |
|
code |
string |
错误代码。 |
details |
错误详细信息。 |
|
message |
string |
错误消息。 |
target |
string |
错误目标。 |
ErrorResponse
错误响应
名称 | 类型 | 说明 |
---|---|---|
error |
错误对象。 |
LongRunningOperationResult
Long-Running 操作 API 的响应模型。
名称 | 类型 | 说明 |
---|---|---|
created |
string |
创建的时间戳。 |
error |
错误详细信息。 |
|
operationId |
string |
此长时间运行的操作的 ID。 |
status |
请求的状态。 |
|
warning |
错误详细信息。 |
LroStatus
请求的状态。
名称 | 类型 | 说明 |
---|---|---|
Failed |
string |
请求有一个或多个失败。 |
NotStarted |
string |
请求尚未开始处理。 |
Running |
string |
请求已开始处理。 |
Succeeded |
string |
请求已成功完成。 |