你当前正在访问 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 帐户。

提交注册或替换请求

RegisterReplace 请求都是长时间运行的操作,在定义数据注册表详细信息的请求正文中包含 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。

正则表达式模式: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

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 格式。

正则表达式模式: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

请求正文

名称 类型 说明
azureBlob

AzureBlob

Azure Blob 数据注册表详细信息。

description

string

提供给数据注册表的说明。 最大长度为 1024 个字符。

kind

DataRegistryKind

数据注册表类型。

响应

名称 类型 说明
200 OK

DataRegistry

资源替换:已接受请求进行处理。

标头

  • Operation-Id: string
  • Operation-Location: string
201 Created

DataRegistry

资源创建:已接受请求进行处理。

标头

  • Operation-Id: string
  • Operation-Location: string
Other Status Codes

MapsErrorResponse

发生了意外错误。

标头

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 可以针对多个用例对应用程序进行基于配置的设置。

类型: 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"
}

定义

名称 说明
AzureBlob

Azure Blob 数据注册表详细信息。

DataFormat

用于验证目的的已上传内容的数据格式。

DataRegistry

Azure Maps 中的数据注册表。

DataRegistryKind

数据注册表类型。

LongRunningOperationStatus

长时间运行的操作的状态。

MapsErrorDetail

错误详细信息。

MapsErrorResponse

Azure Maps API 的常见错误响应,用于返回失败操作的错误详细信息。

MapsInnerError

一个 对象,该对象包含比当前对象更具体的错误信息。

AzureBlob

Azure Blob 数据注册表详细信息。

名称 类型 说明
blobUrl

string

Blob URL 包含要注册的文件的路径。

contentMD5

string

内容的内容 MD5,用于数据验证。

dataFormat

DataFormat

用于验证目的的已上传内容的数据格式。

linkedResource

string

Azure Maps 帐户中数据存储的 ID。

msiClientId

string

用户分配的托管标识的客户端 ID。 如果未提供,请使用系统分配的托管标识。

sizeInBytes

integer

内容的大小(以字节为单位)。

DataFormat

用于验证目的的已上传内容的数据格式。

名称 类型 说明
geojson

string

GeoJSON 是基于 JSON 的地理空间数据交换格式。

zip

string

压缩的数据格式。

DataRegistry

Azure Maps 中的数据注册表。

名称 类型 说明
azureBlob

AzureBlob

Azure Blob 数据注册表详细信息。

description

string

提供给数据注册表的说明。 最大长度为 1024 个字符。

error

MapsErrorDetail

错误详细信息。

kind

DataRegistryKind

数据注册表类型。

status

LongRunningOperationStatus

长时间运行的操作的状态。

udid

string

数据注册表的用户数据 ID。

DataRegistryKind

数据注册表类型。

名称 类型 说明
AzureBlob

string

Azure Blob

LongRunningOperationStatus

长时间运行的操作的状态。

名称 类型 说明
Completed

string

请求已成功完成。

Failed

string

请求有一个或多个失败。

Running

string

请求当前正在处理。

MapsErrorDetail

错误详细信息。

名称 类型 说明
code

string

服务器定义的一组错误代码中的一个。

details

MapsErrorDetail[]

有关导致此项报告错误的特定错误的详细信息数组。

innererror

MapsInnerError

一个 对象,该对象包含比当前对象更具体的错误信息。

message

string

错误的用户可读表示形式。

target

string

错误的目标。

MapsErrorResponse

Azure Maps API 的常见错误响应,用于返回失败操作的错误详细信息。

名称 类型 说明
error

MapsErrorDetail

错误详细信息。

MapsInnerError

一个 对象,该对象包含比当前对象更具体的错误信息。

名称 类型 说明
code

string

错误代码。

innererror

MapsInnerError

一个 对象,该对象包含比当前对象更具体的错误信息。