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

Feature State - Create Stateset

使用 创建新的状态集。

注意

Azure Maps Creator 功能状态服务停用

Azure Maps Creator 功能状态服务现已弃用,将于 25 年 3 月 31 日停用。 为避免服务中断,请在 25 月 31 日停止使用功能状态服务。 有关 Creator 中的实时特征样式设置的信息,请参阅 使用实时地图功能样式增强室内地图

API Create Stateset 是一个 HTTP POST 请求,用于创建新状态集,在请求正文中定义其属性的值和相应样式。 有关详细信息,请参阅Create功能状态集

功能状态服务允许用户更新功能的状态,并查询它们以在其他服务中使用。 不属于数据集的功能的动态属性在此处称为 状态

此功能状态服务透视状态集。 与图块集一样,状态集封装数据集特征状态的存储机制。

创建状态集后,用户可以使用该 statesetId 状态集发布功能状态更新并检索当前功能状态。 一个特征在给定时间点只能有一种状态。

功能状态由键名称、值和时间戳定义。 将功能状态更新发布到 Azure Maps 时,仅当提供的状态时间戳晚于存储的时间戳时,状态值才会更新。

Azure Maps MapControl 提供了一种使用这些功能状态设置功能样式的方法。 有关详细信息,请参阅呈现服务 获取地图状态磁贴

POST https://{geography}.atlas.microsoft.com/featureStateSets?api-version=2.0&datasetId={datasetId}
POST https://{geography}.atlas.microsoft.com/featureStateSets?api-version=2.0&datasetId={datasetId}&description={description}

URI 参数

名称 必需 类型 说明
geography
path True

string

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

api-version
query True

string

Azure Maps API 的版本号。

datasetId
query True

string

数据集 Id 必须已从成功的数据集Create API 调用获取。

description
query

string

状态集的说明。 允许的最大长度为 1000。

请求头

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

string

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

请求正文

名称 类型 说明
styles StyleRule[]:

状态集样式规则的数组。 样式规则可以是数值或字符串,也可以是布尔类型样式规则。 请参阅 此处的 NumberRule、StringRule 和 BooleanRule 定义。

响应

名称 类型 说明
200 OK

StatesetCreatedResult

已创建状态集。

Other Status Codes

ErrorResponse

发生了意外错误。

安全性

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

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

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

类型: apiKey
在: query

SAS Token

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

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

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

类型: apiKey
在: header

示例

Create a new stateset with a datasetId

示例请求

POST https://us.atlas.microsoft.com/featureStateSets?api-version=2.0&datasetId=5d34fbe8-87b7-f7c0-3144-c50e003a3c75&description=Stateset for Azure Maps POC.

{
  "styles": [
    {
      "keyName": "s1",
      "type": "boolean",
      "rules": [
        {
          "true": "#FF0000",
          "false": "#00FF00"
        }
      ]
    },
    {
      "keyName": "s2",
      "type": "number",
      "rules": [
        {
          "range": {
            "exclusiveMaximum": "50"
          },
          "color": "#343deb"
        },
        {
          "range": {
            "minimum": "50",
            "exclusiveMaximum": "70"
          },
          "color": "#34ebb1"
        },
        {
          "range": {
            "minimum": "70",
            "exclusiveMaximum": "90"
          },
          "color": "#eba834"
        },
        {
          "range": {
            "minimum": "90"
          },
          "color": "#eb3434"
        }
      ]
    },
    {
      "keyName": "s3",
      "type": "string",
      "rules": [
        {
          "stateValue1": "#FF0000",
          "stateValue2": "#FF00AA",
          "stateValueN": "#00FF00"
        }
      ]
    }
  ]
}

示例响应

{
  "statesetId": "b24bdb73-1305-3212-1909-a428d937b64f"
}

定义

名称 说明
BooleanRule

布尔规则。 根据键的逻辑值选择颜色。

BooleanStyleRule

布尔类型样式规则对象。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

NumberRule

数字规则。 颜色是从它所属的第一个范围中选择的。

NumberStyleRule

数字类型样式规则对象。

Range

此样式规则的数值范围。 如果值在范围内,则所有条件都必须为 true。

StatesetCreatedResult

成功状态集Create API 的响应模型。

StringStyleRule

字符串类型样式规则对象。

StyleRules

样式模型。

BooleanRule

布尔规则。 根据键的逻辑值选择颜色。

名称 类型 说明
false

string

值为 false 时的颜色。 Color 是各种允许格式、HTML 样式十六进制值、RGB (“#ff0”、“#ffff00”、“rgb (255、255、0) ”) 、RGBA (“rgba (255 的 JSON 字符串, 255, 0, 1) ”) ,HSL (“hsl (100, 50%, 50% ) ”) ,HSLA (“hsla (100, 50%, 50%, 1) ”) 。 此外,还允许使用预定义的 HTML 颜色名称,如黄色和蓝色。

true

string

值为 true 时的颜色。 Color 是各种允许格式、HTML 样式十六进制值、RGB (“#ff0”、“#ffff00”、“rgb (255、255、0) ”) 、RGBA (“rgba (255 的 JSON 字符串, 255, 0, 1) ”) ,HSL (“hsl (100, 50%, 50% ) ”) ,HSLA (“hsla (100, 50%, 50%, 1) ”) 。 此外,还允许使用预定义的 HTML 颜色名称,如黄色和蓝色。

BooleanStyleRule

布尔类型样式规则对象。

名称 类型 说明
keyName

string

状态集样式键名称。 键名称是随机字符串,但它们在样式数组中应是唯一的。

rules

BooleanRule[]

布尔样式规则。

type string:

boolean

状态集样式的类型。

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

NumberRule

数字规则。 颜色是从它所属的第一个范围中选择的。

名称 类型 说明
color

string

值在范围内时的颜色。 Color 是各种允许格式、HTML 样式十六进制值、RGB (“#ff0”、“#ffff00”、“rgb (255、255、0) ”) 、RGBA (“rgba (255 的 JSON 字符串, 255, 0, 1) ”) ,HSL (“hsl (100, 50%, 50% ) ”) ,HSLA (“hsla (100, 50%, 50%, 1) ”) 。 此外,还允许使用预定义的 HTML 颜色名称,如黄色和蓝色。

range

Range

此样式规则的数值范围。 如果值在范围内,则所有条件都必须为 true。

NumberStyleRule

数字类型样式规则对象。

名称 类型 说明
keyName

string

状态集样式键名称。 键名称是随机字符串,但它们在样式数组中应是唯一的。

rules

NumberRule[]

数字样式规则。

type string:

number

状态集样式的类型。

Range

此样式规则的数值范围。 如果值在范围内,则所有条件都必须为 true。

名称 类型 说明
exclusiveMaximum

string

x exclusiveMaximum 的所有数字 x < 。

exclusiveMinimum

string

x exclusiveMinimum 的所有数字 x > 。

maximum

string

x ≤最大值的所有数字 x。

minimum

string

x 的所有数字 x ≥最小值。

StatesetCreatedResult

成功状态集Create API 的响应模型。

名称 类型 说明
statesetId

string

创建的新状态集的 ID。

StringStyleRule

字符串类型样式规则对象。

名称 类型 说明
keyName

string

状态集样式键名称。 键名称是随机字符串,但它们在样式数组中应是唯一的。

rules

object[]

字符串样式规则。

type string:

string

状态集样式的类型。

StyleRules

样式模型。

名称 类型 说明
styles StyleRule[]:

状态集样式规则的数组。 样式规则可以是数值或字符串,也可以是布尔类型样式规则。 请参阅 此处的 NumberRule、StringRule 和 BooleanRule 定义。