你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Data Registry - Register Or Replace
使用 将存储在 Azure 存储帐户中的数据注册到 Azure Maps 帐户。
API Register
是一个 HTTP PUT
请求,用于向 Azure Maps 帐户注册 Azure 存储帐户中的数据。 可注册的最大文件大小为 1 GB。
这在以下方案中非常有用:注册格式的地理围栏 GeoJSON
集合以用于 Azure Maps 地理围栏服务,或将一组 DWG 设计文件注册为压缩 的绘图包 以用于 Azure Maps 创建者 转换服务。
数据注册表服务终结点的范围仅限于 Azure Maps 帐户的区域,不适用于全局 Azure Maps 帐户。
提交注册或替换请求
Register
和 Replace
请求都是长时间运行的操作,在定义数据注册表详细信息的请求正文中包含 AzureBlob JSON 对象。
PUT https://{geography}.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
geography
|
path | True |
string |
此参数指定 Azure Maps 帐户所在的位置。 有效值为 us (美国东部、美国中西部、美国西部 2) 和 eu (North Europe、West Europe) 。 |
udid
|
path | True |
string |
数据注册表的用户数据 ID。 正则表达式模式: |
api-version
|
query | True |
string |
Azure Maps API 的版本号。 |
请求头
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
x-ms-client-id |
string |
指定用于与 Microsoft Entra ID 安全模型结合使用的帐户。 它表示 Azure Maps 帐户的唯一 ID,可从 Azure Maps 管理平面帐户 API 检索。 若要在 Azure Maps 中使用 Microsoft Entra ID 安全性,请参阅以下 文章 以获取指导。 |
|
Operation-Id |
string |
操作 ID,采用 GUID 格式。 正则表达式模式: |
请求正文
名称 | 类型 | 说明 |
---|---|---|
azureBlob |
Azure Blob 数据注册表详细信息。 |
|
description |
string |
提供给数据注册表的说明。 最大长度为 1024 个字符。 |
kind |
数据注册表类型。 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
资源替换:已接受请求进行处理。 标头
|
|
201 Created |
资源创建:已接受请求进行处理。 标头
|
|
Other Status Codes |
发生了意外错误。 标头 x-ms-error-code: string |
安全性
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
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 | 说明 |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
这是在通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面创建 Azure Maps 资源 时预配的共享密钥。
使用此密钥,任何应用程序都有权访问所有 REST API。 换句话说,这些密钥当前可被视为颁发帐户的主密钥。
对于公开的应用程序,我们建议使用 Azure Maps REST API 的服务器到服务器访问,以便安全地存储此密钥。
类型:
apiKey
在:
header
SAS Token
这是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面通过 Azure Maps 资源 上的列出 SAS 操作创建的共享访问签名令牌。
使用此令牌,任何应用程序都有权使用 Azure 基于角色的访问控制进行访问,并精细控制特定令牌的过期、速率和区域 () 。 换句话说,SAS 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。
对于公开的应用程序,我们建议在 Map 帐户资源 上配置允许的来源的特定列表,以限制呈现滥用,并定期续订 SAS 令牌。
类型:
apiKey
在:
header
示例
Register or replace a udid
示例请求
PUT https://us.atlas.microsoft.com/dataRegistries/29a92cab-74af-49e7-a326-66898220aa9d?api-version=2023-06-01
{
"description": "Contoso Geofence GeoJSON",
"kind": "AzureBlob",
"azureBlob": {
"dataFormat": "geojson",
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
"linkedResource": "my-storage-account",
"blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path.json"
}
}
示例响应
Operation-Id: 0522b4fe-0539-4c6c-ba70-e35ec865d8e2
Operation-Location: https://us.atlas.microsoft.com/dataRegistries/operations/0522b4fe-0539-4c6c-ba70-e35ec865d8e2
{
"udid": "29a92cab-74af-49e7-a326-66898220aa9d",
"description": "Contoso Geofence GeoJSON",
"kind": "AzureBlob",
"azureBlob": {
"dataFormat": "geojson",
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
"linkedResource": "my-storage-account",
"blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path.json",
"sizeInBytes": 1339
},
"status": "Running"
}
Operation-Id: 0522b4fe-0539-4c6c-ba70-e35ec865d8e2
Operation-Location: https://us.atlas.microsoft.com/dataRegistries/operations/0522b4fe-0539-4c6c-ba70-e35ec865d8e2
{
"udid": "29a92cab-74af-49e7-a326-66898220aa9d",
"description": "Contoso Geofence GeoJSON",
"kind": "AzureBlob",
"azureBlob": {
"dataFormat": "geojson",
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
"linkedResource": "my-storage-account",
"blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path.json",
"sizeInBytes": 1339
},
"status": "Running"
}
定义
名称 | 说明 |
---|---|
Azure |
Azure Blob 数据注册表详细信息。 |
Data |
用于验证目的的已上传内容的数据格式。 |
Data |
Azure Maps 中的数据注册表。 |
Data |
数据注册表类型。 |
Long |
长时间运行的操作的状态。 |
Maps |
错误详细信息。 |
Maps |
Azure Maps API 的常见错误响应,用于返回失败操作的错误详细信息。 |
Maps |
一个 对象,该对象包含比当前对象更具体的错误信息。 |
AzureBlob
Azure Blob 数据注册表详细信息。
名称 | 类型 | 说明 |
---|---|---|
blobUrl |
string |
Blob URL 包含要注册的文件的路径。 |
contentMD5 |
string |
内容的内容 MD5,用于数据验证。 |
dataFormat |
用于验证目的的已上传内容的数据格式。 |
|
linkedResource |
string |
Azure Maps 帐户中数据存储的 ID。 |
msiClientId |
string |
用户分配的托管标识的客户端 ID。 如果未提供,请使用系统分配的托管标识。 |
sizeInBytes |
integer |
内容的大小(以字节为单位)。 |
DataFormat
用于验证目的的已上传内容的数据格式。
名称 | 类型 | 说明 |
---|---|---|
geojson |
string |
GeoJSON 是基于 JSON 的地理空间数据交换格式。 |
zip |
string |
压缩的数据格式。 |
DataRegistry
Azure Maps 中的数据注册表。
名称 | 类型 | 说明 |
---|---|---|
azureBlob |
Azure Blob 数据注册表详细信息。 |
|
description |
string |
提供给数据注册表的说明。 最大长度为 1024 个字符。 |
error |
错误详细信息。 |
|
kind |
数据注册表类型。 |
|
status |
长时间运行的操作的状态。 |
|
udid |
string |
数据注册表的用户数据 ID。 |
DataRegistryKind
数据注册表类型。
名称 | 类型 | 说明 |
---|---|---|
AzureBlob |
string |
Azure Blob |
LongRunningOperationStatus
长时间运行的操作的状态。
名称 | 类型 | 说明 |
---|---|---|
Completed |
string |
请求已成功完成。 |
Failed |
string |
请求有一个或多个失败。 |
Running |
string |
请求当前正在处理。 |
MapsErrorDetail
错误详细信息。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
服务器定义的一组错误代码中的一个。 |
details |
有关导致此项报告错误的特定错误的详细信息数组。 |
|
innererror |
一个 对象,该对象包含比当前对象更具体的错误信息。 |
|
message |
string |
错误的用户可读表示形式。 |
target |
string |
错误的目标。 |
MapsErrorResponse
Azure Maps API 的常见错误响应,用于返回失败操作的错误详细信息。
名称 | 类型 | 说明 |
---|---|---|
error |
错误详细信息。 |
MapsInnerError
一个 对象,该对象包含比当前对象更具体的错误信息。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
错误代码。 |
innererror |
一个 对象,该对象包含比当前对象更具体的错误信息。 |