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

Style - Create

使用 创建Azure Maps样式。

提交创建请求

Style Create API 是一个 HTTP POST 请求,用于通过传入包含样式信息的 JSON 或 ZIP 文件来创建Azure Maps样式。

创建样式 API 是一个 长时间运行的操作

POST https://{geography}.atlas.microsoft.com/styles?api-version=2023-03-01-preview
POST https://{geography}.atlas.microsoft.com/styles?api-version=2023-03-01-preview&description={description}&alias={alias}

URI 参数

名称 必需 类型 说明
geography
path True

string

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

api-version
query True

string

Azure Maps API 的版本号。

alias
query

string

样式的别名。 最大长度 1024 个字符。 别名不能以 microsoft-maps 作为保留前缀的开头。 别名可以在创建样式期间提供,并且可以在创建样式后用作与 styleId 相同的别名。

description
query

string

用户提供的样式说明。 最大长度 1024 个字符。

请求头

Media Types: "application/json", "application/zip"

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

string

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

请求正文

Media Types: "application/json", "application/zip"

名称 类型 说明
CreateContent

object

要上传的样式内容。 如果提供了 JSON 数据格式,则请求正文应遵循 MapLibre Style 规范中的层 规范。 如果提供了 ZIP 数据格式,则还应提供子画面工作表和关联的索引文件,其中包含样式配置 json 文件中使用的图标。

响应

名称 类型 说明
202 Accepted

请求已接受:已接受请求进行处理。 请使用 Operation-Location 标头中的 URL 获取状态。

标头

Operation-Location: string

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 支持工作、学校和来宾,但不支持个人帐户。

类型: 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 Maps帐户时预配的共享密钥。

使用此密钥,任何应用程序都可以访问所有 REST API。 换句话说,此密钥可以用作颁发它们的帐户中的主密钥。

对于公开的应用程序,我们建议使用机密客户端应用程序方法来访问Azure Maps REST API,以便安全地存储密钥。

类型: apiKey
在: query

SAS Token

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

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

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

类型: apiKey
在: header

示例

Create Style by providing an azure maps style json file

示例请求

POST https://us.atlas.microsoft.com/styles?api-version=2023-03-01-preview&alias=test-alias

{
  "layers": [
    {
      "id": "background",
      "type": "background",
      "source-layer": "bg-source",
      "minzoom": 18,
      "maxzoom": 20,
      "layout": {
        "visibility": "none",
        "symbol-placement": "point",
        "symbol-avoid-edges": true,
        "text-field": "{name}",
        "text-keep-upright": true,
        "text-font": [
          "SegoeUi-SemiBold"
        ],
        "text-letter-spacing": 0.1,
        "text-size": {
          "stops": [
            [
              18.5,
              6.5
            ],
            [
              19,
              8
            ],
            [
              19.5,
              9.5
            ],
            [
              20,
              11
            ]
          ]
        },
        "text-anchor": "center"
      },
      "paint": {
        "text-color": "rgb(0, 0, 0)",
        "text-halo-color": "rgb(255, 255, 255)",
        "text-halo-width": 1,
        "text-halo-blur": 0.5
      }
    }
  ]
}

示例响应

Operation-Location: https://us.atlas.microsoft.com/styles/operations/{operationId}?api-version=2023-03-01-preview
Access-Control-Expose-Headers: Operation-Location

定义

名称 说明
ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。