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

Tileset - Validate Configuration

使用 验证磁贴集配置。

提交验证配置请求

API Validate Configuration 是一个 HTTP POST 请求,用于根据提供的 datasetId验证指定的磁贴集配置

POST https://{geography}.atlas.microsoft.com/tilesets:validateConfiguration?api-version=2023-03-01-preview&datasetId={datasetId}

URI 参数

名称 必需 类型 说明
geography
path True

string

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

api-version
query True

string

Azure Maps API 的版本号。

datasetId
query True

string

磁贴集创建 API 用于检索特征以生成磁贴的唯 datasetId 一值。 datasetId必须已从成功的数据集创建 API 调用中获取 。

请求头

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

string

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

请求正文

名称 必需 类型 说明
layers True

<string,  LayerObject>

层的名称及其配置选项。 配置层对象包含键值对,这些键值对将图块层的名称与其配置相关联。 对于每个键值对,键是层的名称,值为包含层的配置和选项的 LayerObject。 每个层都必须有一个名称。 这是最终图块集中数据层的唯一标识符。 在任何图块集中,每个层名称都必须是唯一的。 层名称必须是仅包含下划线 (_) 和字母数字字符的字符串。 每个层名称对应的 LayerObject 描述了应如何创建矢量图块层。 它指定要检索特征数据的特征类、通过缩放级别的数据精度,以及如何转换特征并将其呈现为磁贴。

version True

integer

平铺集配置使用的 Azure Maps 平铺服务配置引用的版本。 目前仅允许版本 1。 使用当前版本或以前版本的任何其他版本都将导致错误。

响应

名称 类型 说明
200 OK

TilesetConfigurationValidationResult

验证磁贴集配置请求是否已成功完成。 响应正文包含验证结果。

Other Status Codes

ErrorResponse

发生了意外错误。

安全性

AADToken

这些是 Azure Active Directory OAuth2 流。 与 Azure 基于角色的访问控制配对时,它可用于控制对Azure Maps REST API 的访问。 Azure 基于角色的访问控制用于指定对一个或多个Azure Maps资源帐户或子资源的访问权限。 可以通过内置角色或由一个或多个权限组成的自定义角色授予任何用户、组或服务主体的访问权限,以Azure Maps REST API。

若要实现方案,建议查看 身份验证概念。 总之,此安全定义提供了一种解决方案,用于通过能够对特定 API 和作用域进行访问控制的对象对应用程序 () 建模。

备注

  • 此安全定义需要使用x-ms-client-id 标头来指示应用程序请求访问的Azure Maps资源。 这可以从 地图管理 API 获取。

Authorization URL特定于 Azure 公有云实例。 主权云具有唯一的授权 URL 和 Azure Active Directory 配置。 * Azure 基于角色的访问控制是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 从 Azure 管理平面配置的。 * 使用 Azure Maps Web SDK 允许针对多个用例对应用程序进行基于配置的设置。

  • 目前,Azure Active Directory v1.0 或 v2.0 支持工作、学校和来宾,但不支持个人帐户。

Type: 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,以便安全地存储密钥。

Type: apiKey
In: query

SAS Token

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

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

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

Type: apiKey
In: header

示例

Validates the correctness of a tileset configuration

Sample Request

POST https://us.atlas.microsoft.com/tilesets:validateConfiguration?api-version=2023-03-01-preview&datasetId=[datasetId]

{
  "version": 1,
  "layers": {
    "Indoor test": {
      "minZoom": 10,
      "maxZoom": 18,
      "features": {
        "featureClasses": [
          "unit"
        ],
        "filter": [
          "any",
          [
            "!=",
            [
              "get",
              "featureType"
            ],
            "conference"
          ],
          [
            "!=",
            [
              "get",
              "featureType"
            ],
            "restroom"
          ]
        ]
      }
    }
  }
}

Sample Response

{
  "valid": false,
  "warnings": [],
  "errors": [
    {
      "code": "CustomLayerNameNotSupported",
      "message": "Custom layerName 'Indoor test' is not supported yet.",
      "target": "Indoor test"
    }
  ]
}

定义

名称 说明
ErrorAdditionalInfo

资源管理错误附加信息。

ErrorCode

验证错误代码。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

Feature

磁贴集配置的功能配置。

LayerObject

图块集配置的层对象。

TilesetConfiguration

图块集配置顶级字段。 磁贴集配置是必须包含以下顶级字段的 JSON 对象:

TilesetConfigurationValidationResult

图块集配置验证结果。

ValidationError

磁贴集配置验证错误。

ValidationWarning

磁贴集配置验证错误。

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorCode

验证错误代码。

名称 类型 说明
CustomLayerNameNotSupported

string

目前不支持自定义层名称。

CustomOntologyNotSupported

string

目前不支持自定义本体,“Facility-2.0”是受支持的本体。

DuplicateFeatureClassFound

string

特征类名称应是唯一的。

DuplicateLayerNameFound

string

层名称应是唯一的。

UndefinedFeatureClasses

string

特征类应在本体定义中定义,并且特征类名称区分大小写。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

Feature

磁贴集配置的功能配置。

名称 类型 说明
featureClasses

string[]

将用于生成层的特征类列表。 可以在其本体定义中找到有效的特征类。 例如, 设施本体

filter

object

删除与模式不匹配的功能。 请参阅 MapLibre 筛选器表达式

LayerObject

图块集配置的层对象。

名称 类型 说明
features

Feature

指定特征类和筛选器。

maxZoom

integer

要生成的层的最高缩放级别。

minZoom

integer

要生成的层的最低缩放级别。

TilesetConfiguration

图块集配置顶级字段。 磁贴集配置是必须包含以下顶级字段的 JSON 对象:

名称 类型 说明
layers

<string,  LayerObject>

层的名称及其配置选项。 配置层对象包含键值对,这些键值对将图块层的名称与其配置相关联。 对于每个键值对,键是层的名称,值为包含层的配置和选项的 LayerObject。 每个层都必须有一个名称。 这是最终图块集中数据层的唯一标识符。 在任何图块集中,每个层名称都必须是唯一的。 层名称必须是仅包含下划线 (_) 和字母数字字符的字符串。 每个层名称对应的 LayerObject 描述了应如何创建矢量图块层。 它指定要检索特征数据的特征类、通过缩放级别的数据精度,以及如何转换特征并将其呈现为磁贴。

version

integer

平铺集配置使用的 Azure Maps 平铺服务配置引用的版本。 目前仅允许版本 1。 使用当前版本或以前版本的任何其他版本都将导致错误。

TilesetConfigurationValidationResult

图块集配置验证结果。

名称 类型 说明
errors

ValidationError[]

验证错误列表。

valid

boolean

验证结果。

warnings

ValidationWarning[]

验证警告的列表。

ValidationError

磁贴集配置验证错误。

名称 类型 说明
code

ErrorCode

验证错误代码。

message

string

验证错误消息。

target

string

验证错误的目标元素。

ValidationWarning

磁贴集配置验证错误。

名称 类型 说明
code

string

验证警告代码。

message

string

验证警告消息。

target

string

验证警告的目标元素。