你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Data - Upload
使用 将数据内容上传到 Azure Maps 帐户。
注意
Azure Maps 数据服务停用
Azure Maps 数据服务(v1 和 v2)现已弃用,并将于 2024 年 9 月 16 日开始停用。 为了避免服务中断,对数据服务的所有调用都需要在 2024 年 9 月 16 日之前更新为使用 Azure Maps 数据注册表服务。 有关详细信息,请参阅如何创建数据注册表。
API Data Upload
是一个 HTTP POST
请求,允许调用方将数据内容上传到 Azure Maps 服务。
可以在上传格式的地理围栏 GeoJSON
集合等方案中使用此 API,以便在 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 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
geography
|
path | True |
string |
此参数指定 Azure Maps Creator 资源所在的位置。 有效值为 us 和 eu。 |
api-version
|
query | True |
string |
Azure Maps API 的版本号。 |
data
|
query | True |
正在上传的内容的数据格式。 |
|
description
|
query |
string |
要提供给上传的说明。 |
请求头
Media Types: "application/json", "application/octet-stream"
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
x-ms-client-id |
string |
指定用于与 Microsoft Entra ID 安全模型结合使用的帐户。 它表示 Azure Maps 帐户的唯一 ID,可从 Azure Maps 管理平面帐户 API 检索。 若要在 Azure Maps 中使用 Microsoft Entra ID 安全性,请参阅以下 文章 以获取指导。 |
请求正文
Media Types: "application/json", "application/octet-stream"
名称 | 类型 | 说明 |
---|---|---|
UploadContent |
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 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。
对于公开的应用程序,我们建议在 Map 帐户资源 上配置允许的来源的特定列表,以限制呈现滥用,并定期续订 SAS 令牌。
类型:
apiKey
在:
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."
}
}
定义
名称 | 说明 |
---|---|
Data |
已上传内容的数据格式。 |
Error |
资源管理错误附加信息。 |
Error |
错误详细信息。 |
Error |
错误响应 |
Long |
Long-Running 操作 API 的响应模型。 |
Lro |
请求的状态状态。 |
DataFormat
已上传内容的数据格式。
名称 | 类型 | 说明 |
---|---|---|
dwgzippackage |
string |
包含 DWG 文件的 ZIP 包。 |
geojson |
string |
GeoJSON 是基于 JSON 的地理空间数据交换格式。 |
zip |
string |
压缩的数据格式。 |
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 |
请求已成功完成。 |