Share via


Tileset - Validate Configuration

使用 來驗證磚集組態。

提交驗證設定要求

Validate Configuration API 是 HTTP POST 要求,用來根據提供的 datasetId來驗證指定的磚集組態

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

URI 參數

名稱 位於 必要 類型 Description
geography
path True

string

此參數會指定 Azure 地圖服務 Creator 資源所在的位置。 有效值為us和 eu。

api-version
query True

string

Azure 地圖服務 API 的版本號碼。

datasetId
query True

string

磚集建立 API 用來擷取特徵以產生磚的唯 datasetId 一。 datasetId必須已從成功的資料集建立 API 呼叫取得 。

要求標頭

名稱 必要 類型 Description
x-ms-client-id

string

指定哪個帳戶與 Microsoft Entra ID 安全性模型搭配使用。 它代表 Azure 地圖服務 帳戶的唯一標識符,而且可以從 Azure 地圖服務 管理平面帳戶 API 擷取。 若要在 Azure 地圖服務 中使用 Microsoft Entra ID 安全性,請參閱下列文章以取得指引。

要求本文

名稱 必要 類型 Description
layers True

<string,  LayerObject>

層次的名稱及其組態選項。 組態層物件包含索引鍵/值組,將圖格圖層的名稱與其組態產生關聯。 針對每個索引鍵/值組,索引鍵是圖層的名稱,而值為 LayerObject,其中包含圖層的組態和選項。 每個圖層都必須有名稱。 這是最終磚集中數據層的唯一標識符。 在任何圖格集中,每個圖層名稱都必須是唯一的。 層次名稱必須是只有底線 (_) 和英數位元的字串。 每個圖層名稱的對應 LayerObject 描述該向量圖格圖層的建立方式。 它會指定要擷取特徵數據的功能類別、透過縮放層級擷取數據的精確度,以及如何轉換特徵並將其轉譯成磚。

version True

integer

磚集組態所使用的 Azure 地圖服務 並排服務組態參考版本。 目前只允許第 1 版。 使用目前版本或舊版的任何其他版本會導致錯誤。

回應

名稱 類型 Description
200 OK

TilesetConfigurationValidationResult

驗證磚集設定要求已順利完成。 回應本文包含驗證結果。

Other Status Codes

ErrorResponse

發生意外錯誤。

安全性

AADToken

這些是 Azure Active Directory OAuth2 流程。 與 Azure 角色型存取控制配對時,可用來控制對 #D271C25B1B0D64A8ABC5241941A332AB5 REST API 的存取。 Azure 角色型訪問控制可用來指定一或多個 Azure 地圖服務 資源帳戶或子資源的存取權。 任何使用者、群組或服務主體都可以透過內建角色或由一或多個許可權組成的自定義角色來授與存取權,以 Azure 地圖服務 REST API。

若要實作案例,建議您檢視 驗證概念。 總而言之,此安全性定義會透過能夠針對特定 API 和範圍進行訪問控制的物件,提供將應用程式模型化 () 的解決方案。

備註

  • 此安全性定義需要使用x-ms-client-id 標頭來指出應用程式要求存取權 Azure 地圖服務 資源。 這可以從 地圖管理 API 取得。

Authorization URL專屬於 Azure 公用雲端實例。 主權雲端具有唯一的授權 URL 和 Azure Active Directory 設定。 * 透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 管理平面設定 Azure 角色型存取控制。 * Azure 地圖服務 Web SDK 的使用方式允許針對多個使用案例設定應用程式設定。

  • 目前,Azure Active Directory v1.0 或 v2.0 支援公司、學校和來賓,但不支持個人帳戶。

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名稱 Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

這是在 Azure 入口網站 或使用PowerShell、CLI、Azure SDK 或 REST API 中建立 Azure 地圖服務 帳戶時所佈建的共用密鑰。

使用此金鑰,任何應用程式都可以存取所有 REST API。 換句話說,此金鑰可作為發行所在帳戶中的主要金鑰。

對於公開的應用程式,我們建議使用機密用戶端應用程式方法來存取 Azure 地圖服務 REST API,以便安全地儲存您的密鑰。

Type: apiKey
In: query

SAS Token

這是透過 Azure 管理平面透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 地圖服務 資源上的列出 SAS 作業建立的共用存取簽章令牌。

使用此令牌時,任何應用程式都有權使用 Azure 角色型訪問控制進行存取,並更精細地控制到期、速率和區域 (特定令牌的使用) 。 換句話說,SAS 令牌可用來允許應用程式以比共用密鑰更安全的方式來控制存取。

對於公開的應用程式,我們建議在 地圖帳戶資源 上設定允許的來源特定清單,以限制轉譯濫用,並定期更新 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"
    }
  ]
}

定義

名稱 Description
ErrorAdditionalInfo

資源管理錯誤其他資訊。

ErrorCode

驗證錯誤碼。

ErrorDetail

錯誤詳細數據。

ErrorResponse

錯誤回應

Feature

磚集組態的功能組態。

LayerObject

圖格集組態的圖層物件。

TilesetConfiguration

圖格集組態最上層欄位。 磚集組態是 JSON 對象,必須包含下列最上層欄位:

TilesetConfigurationValidationResult

磚集組態驗證結果。

ValidationError

磚集組態驗證錯誤。

ValidationWarning

磚集組態驗證錯誤。

ErrorAdditionalInfo

資源管理錯誤其他資訊。

名稱 類型 Description
info

object

其他資訊。

type

string

其他信息類型。

ErrorCode

驗證錯誤碼。

名稱 類型 Description
CustomLayerNameNotSupported

string

目前不支援自定義圖層名稱。

CustomOntologyNotSupported

string

目前不支援自定義 Ontology,'Facility-2.0' 是支援的 Ontology。

DuplicateFeatureClassFound

string

功能類別名稱應該是唯一的。

DuplicateLayerNameFound

string

層次名稱應該是唯一的。

UndefinedFeatureClasses

string

特徵類別應該定義於 ontology 定義中,而且特徵類別名稱會區分大小寫。

ErrorDetail

錯誤詳細數據。

名稱 類型 Description
additionalInfo

ErrorAdditionalInfo[]

錯誤其他資訊。

code

string

錯誤碼。

details

ErrorDetail[]

錯誤詳細資料。

message

string

錯誤訊息。

target

string

錯誤目標。

ErrorResponse

錯誤回應

名稱 類型 Description
error

ErrorDetail

錯誤物件。

Feature

磚集組態的功能組態。

名稱 類型 Description
featureClasses

string[]

將用來建置圖層的功能類別清單。 您可以在其 Ontology 定義中找到有效的特徵類別。 例如 ,設施內部學

filter

object

拿掉不符合模式的功能。 請參閱 MapLibre 篩選表達式

LayerObject

圖格集組態的圖層物件。

名稱 類型 Description
features

Feature

指定功能類別和篩選。

maxZoom

integer

要建置之圖層的最高縮放層級。

minZoom

integer

要建置之圖層的最低縮放層級。

TilesetConfiguration

圖格集組態最上層欄位。 磚集組態是 JSON 對象,必須包含下列最上層欄位:

名稱 類型 Description
layers

<string,  LayerObject>

層次的名稱及其組態選項。 組態層物件包含索引鍵/值組,將圖格圖層的名稱與其組態產生關聯。 針對每個索引鍵/值組,索引鍵是圖層的名稱,而值為 LayerObject,其中包含圖層的組態和選項。 每個圖層都必須有名稱。 這是最終磚集中數據層的唯一標識符。 在任何圖格集中,每個圖層名稱都必須是唯一的。 層次名稱必須是只有底線 (_) 和英數位元的字串。 每個圖層名稱的對應 LayerObject 描述該向量圖格圖層的建立方式。 它會指定要擷取特徵數據的功能類別、透過縮放層級擷取數據的精確度,以及如何轉換特徵並將其轉譯成磚。

version

integer

磚集組態所使用的 Azure 地圖服務 並排服務組態參考版本。 目前只允許第 1 版。 使用目前版本或舊版的任何其他版本會導致錯誤。

TilesetConfigurationValidationResult

磚集組態驗證結果。

名稱 類型 Description
errors

ValidationError[]

驗證錯誤的清單。

valid

boolean

驗證結果。

warnings

ValidationWarning[]

驗證警告的清單。

ValidationError

磚集組態驗證錯誤。

名稱 類型 Description
code

ErrorCode

驗證錯誤碼。

message

string

驗證錯誤訊息。

target

string

驗證錯誤的目標專案。

ValidationWarning

磚集組態驗證錯誤。

名稱 類型 Description
code

string

驗證警告碼。

message

string

驗證警告訊息。

target

string

驗證警告的目標專案。