Azure 应用配置通过功能标志提供功能管理,使团队能够在不重新部署代码的情况下动态控制应用程序功能。 这允许安全、有针对性的推出、更快的试验和降低风险,使开发人员能够灵活控制应用行为,并能够快速响应不断变化的业务或客户需求。
Azure 门户中的功能管理器提供用于创建和管理应用程序中使用的功能标志的 UI。
Prerequisites
创建功能标志
按照以下步骤在 Azure 门户中创建新的功能标志。
在 Azure 门户中打开你的 Azure 应用配置存储。 在资源菜单中的 操作 下,选择 功能管理器>创建。
在你将如何使用功能标志?下,选择以下用途之一:
-
开关 – 使用简单开关打开/关闭功能。 用于短期操作切换和仅需一个开/关控件即可的场景。
-
逐步推出 – 逐步为一定比例的用户启用该功能。 用于逐步推出功能以降低风险,也适用于在不同环境或用户细分群中进行金丝雀发布或分阶段发布。
-
试验 – 使用流量分配运行受控试验,以确定性能最佳的变体。 用于 A/B 测试、多变量试验或指标驱动功能评估,以及其他需要统计比较的方案。
使用 Switch 立即为所有用户启用或禁用功能。
配置 Basics 以设置功能标志的核心属性。
| 设置 |
示例值 |
说明 |
|
启用功能标志 |
开启 |
此选项在创建时启用功能标志。 如果关闭此功能,则会保存新功能标志的配置,但新功能标志将保持禁用状态。 |
|
功能标志名称 |
试用版 |
功能标志名称是你用于在代码中引用标志的内容。 它在应用程序中必须是唯一的。 |
|
Key |
试用版 |
可使用该键筛选应用程序中加载的功能标志。 密钥默认从功能标志名称生成,但你也可以添加前缀或命名空间来对功能标志进行分组,例如 .appconfig.featureflag/Beta。 |
|
Label |
留空 |
可使用标签为相同的键创建不同的功能标志,并基于标签筛选应用程序中加载的标志。 默认情况下,功能标志没有标签。 |
|
说明 |
留空 |
留空或输入功能标志的描述。 |
配置 遥测 以收集此功能标志的评估事件。 启用后,评估事件将发送到在应用程序中配置的遥测发布者。 在启用遥测之前,请将 Application Insights 资源链接到 遥测>App Insights 中的应用配置存储。
选择 “查看 + 创建 ”以查看新功能标志的摘要,然后选择“ 创建 ”以完成作。 一条通知指示已成功创建新功能标志。
使用“推出”逐步向一定百分比的用户公开某项功能。
配置 Basics 以设置功能标志的核心属性。
| 设置 |
示例值 |
说明 |
|
启用功能标志 |
开启 |
此选项在创建时启用功能标志。 如果关闭此功能,则会保存新功能标志的配置,但新功能标志将保持禁用状态。 |
|
功能标志名称 |
试用版 |
功能标志名称是你用于在代码中引用标志的内容。 它在应用程序中必须是唯一的。 |
|
Key |
试用版 |
可使用该键筛选应用程序中加载的功能标志。 该键默认生成自功能标志名称,但你也可添加前缀或命名空间以对功能标志进行分组,例如 .appconfig.featureflag/myapp/Beta。 |
|
Label |
留空 |
可使用标签为相同的键创建不同的功能标志,并基于标签筛选应用程序中加载的标志。 默认情况下,功能标志没有标签。 |
|
说明 |
留空 |
留空或输入功能标志的描述。 |
在“受众”选项卡中,为指定百分比启用功能标志,或明确包含或排除组和用户。
| 设置 |
示例值 |
说明 |
|
默认百分比 |
0–100 |
输入介于 0 和 100 之间的值,以指定默认情况下接收该功能的用户的百分比。 |
|
按组替代 |
关闭(未选中) |
选择以启用基于组的替代。 启用后,可以: - 添加要显式包含在推出中的组,并设置应接收该功能的组成员的百分比。
- 添加要从推出中排除的组。
|
|
按用户替代 |
关闭(未选中) |
选择以启用基于用户的定向。 启用后,可以指定要包含或排除的单个用户。 |
在 “配置 ”选项卡中,为功能标志配置值。 应用程序可以通过评估适用于每个用户的值来检索适当的配置。
| 设置 |
示例值 |
说明 |
|
包括配置 |
复选框已选中 |
选择此项可将键值设置附加到功能标志。 这些设置允许应用程序动态调整行为,而无需重新部署代码。 |
|
旧配置 |
{"color":"blue"} |
显示以前在此更新之前与功能标志关联的配置值。 使用此方法比较更改和跟踪版本。 |
|
新建配置 |
{"color":"green"} |
显示正在应用的更新配置值。 这些值将替代旧配置,并在启用功能标志时定义新行为。 |
配置 条件 以计划更改并管理用于提供功能的自定义约束。
| 设置 |
示例值 |
说明 |
|
添加计划 |
开始时间: 2025-11-01 结束: 2025-11-15 时区: (UTC-06:00)中部时间(美国和加拿大) 重复功能:已禁用 |
通过指定开始日期和结束日期来定义基于时间的推出。 (可选)更新建议的时区,并为重复激活启用重复功能。 |
|
添加自定义条件 |
User.Subscription == "Premium" |
根据自定义属性(例如区域、设备类型或订阅级别)创建条件。 条件使你能够精确定位哪些用户接收该功能。 |
|
要求启用所有功能筛选器 |
开启(已选中) |
只有在启用 “添加自定义条件 ”和 “添加计划”后,才会显示此选项。 选中后,所有启用的功能筛选器的计算结果都必须为 true 才能应用该功能(逻辑 AND)。 取消选中时,将独立评估筛选器(逻辑 OR)。 |
配置 遥测 以收集此功能标志的评估事件。 启用后,评估事件将发送到在应用程序中配置的遥测发布者。 在启用遥测之前,请将 Application Insights 资源链接到 遥测>App Insights 中的应用配置存储。
选择 “查看 + 创建 ”以查看新功能标志的摘要,然后选择“ 创建 ”以完成作。 一条通知指示已成功创建新功能标志。
使用 试验 运行 A/B 测试并比较变体。
配置 Basics 以设置功能标志的核心属性。
| 设置 |
示例值 |
说明 |
|
启用功能标志 |
开启 |
此选项在创建时启用功能标志。 如果关闭此功能,则会保存新功能标志的配置,但新功能标志将保持禁用状态。 |
|
功能标志名称 |
试用版 |
功能标志名称是你用于在代码中引用标志的内容。 它在应用程序中必须是唯一的。 |
|
Key |
试用版 |
可使用该键筛选应用程序中加载的功能标志。 该键默认生成自功能标志名称,但你也可添加前缀或命名空间以对功能标志进行分组,例如 .appconfig.featureflag/myapp/Beta。 |
|
Label |
留空 |
可使用标签为相同的键创建不同的功能标志,并基于标签筛选应用程序中加载的标志。 默认情况下,功能标志没有标签。 |
|
说明 |
留空 |
留空或输入功能标志的描述。 |
配置 Variants 以比较行为、分配流量和运行目标测试。
| 设置 |
示例值 |
说明 |
|
变量名称 |
变体 1 |
输入每个变体的唯一名称。 |
|
值 |
<your-variant-1-value> |
为变量返回的值。 它可以是字符串、数字、布尔或 JSON 对象。 使用“编辑多行值”处理应用在评估标志时读取的复杂 JSON 配置。 |
|
默认变体 |
变体 1 (默认) |
选择一个变体作为稳定的备用方案和基准。 当不应用任何特定分配或禁用功能标志时,将返回此变体;它也是用于目标分配和受控测试的基线。 |
配置 分配 将流量分配至不同变体,并针对特定组或用户应用覆盖规则。
| 设置 |
示例值 |
说明 |
|
跨变体的流量分布 |
默认值: 100% 变体 1: 0% 变体 2: 0% |
指定分配给每个变体的流量百分比。 所有变体的分布必须加起来最多 100%。 使用此工具可以控制用户如何接触不同的变体。 |
|
分配替代 |
按组/用户替代 |
将特定变体分配给所选组或单个用户,而不考虑基于百分比的分配。 当组和用户替代都适用时,用户分配优先。 |
|
分布(种子) |
使用自定义种子: 12345 |
默认情况下,百分位分布是随机的。 提供一个固定种子,以在共享相同种子值的特征标志之间生成确定性(可重复)的分配。 |
重要
如果在客户端应用程序(例如 Web 浏览器)中发生功能评估,则功能标志数据(包括此处指定的用户名)可能会向最终用户公开。 有关详细信息,请参阅 应用程序配置中的客户端应用程序。
配置 条件 以限制公开、计划更改和管理为功能提供服务的自定义约束。
| 设置 |
示例值 |
说明 |
|
限制曝光 |
复选框已选中 |
选中后,其他选项将按百分比、组和用户控制公开。 如果未选中,则功能标志将全局应用,且没有这些约束。 |
|
默认百分比 |
100 |
仅当选中“限制公开”时可见。 输入介于 0 和 100 之间的值,以指定默认情况下接收功能的整个用户群的百分比。 |
|
按组替代 |
包括: MarketingTeam (100%) 排除: TestGroup |
仅当选中“限制公开”时可见。 包括组以为其启用功能,即使其超出默认百分比也是如此。 排除这些组以禁用该功能。 |
|
按用户替代 |
包括: john@example.com 排除: jane@example.com |
仅当选中“限制公开”时可见。 包括用户以为其启用功能,即使其超出默认百分比也是如此。 排除用户以对其禁用功能。 对于较长的用户列表,我们建议使用组而不是用户,因为功能标志的限制为 10kb。 |
|
添加计划 |
开始时间: 2025-11-01 结束: 2025-11-15 时区: (UTC-06:00)中部时间(美国和加拿大) 重复周期: 每周 |
通过指定开始时间和结束时间来定义基于时间的推出。 (可选)更新建议的时区,并为重复激活启用重复功能(例如,每周或每月)。 |
|
添加自定义条件 |
User.Region == “EU” |
根据自定义属性(例如区域、设备类型或订阅级别)创建条件。 条件允许精确定位,因此只有符合这些条件的用户才能接收该功能。 |
|
要求启用所有功能筛选器 |
开启 (已选中) |
此选项仅在启用多个条件后显示。 选中后,所有启用的功能筛选器的计算结果都必须为 true 才能应用该功能标志(逻辑 AND)。 取消选中时,将独立评估筛选器(逻辑 OR)。 |
配置 遥测 以收集此功能标志的评估事件。 启用后,评估事件将发送到在应用程序中配置的遥测发布者。 在启用遥测之前,请将 Application Insights 资源链接到 遥测>App Insights 中的应用配置存储。
选择 “查看 + 创建 ”以查看新功能标志的摘要,然后选择“ 创建 ”以完成作。 一条通知指示已成功创建新功能标志。
编辑功能标志
若要更新功能标志,请执行以下步骤:
在资源菜单中,转到操作>功能管理器。
移动到要修改的功能标志的右端,然后选择 “更多作 ”省略号(...)。在此菜单中,可以查看功能标志详细信息、编辑标志、锁定或解锁、创建标签、更新标记、查看历史记录或删除标志。
选择 “编辑” 以使用视觉编辑器进行更改,或 选择“高级编辑” 以直接修改标志的原始 JSON。
(可选)通过打开或关闭 “已启用 ”切换来更改功能标志的状态。
管理视图
“功能管理器”菜单显示 Azure 应用配置中存储的功能标志。 可通过选择“管理视图”来更改 Azure 门户中的功能管理器显示。
使用功能管理器创建的功能标志存储为常规键值。 它们保留有特殊的前缀 .appconfig.featureflag/ 和内容类型 application/vnd.microsoft.appconfig.ff+json;charset=utf-8。
若要查看“配置资源管理器”中功能标志的基础键值,请执行以下步骤。
在资源菜单中,选择操作>配置管理器,然后选择管理视图>设置。
依次选择“包括配置资源管理器中的功能标志”、“应用”。
相关内容
若要开始使用 Azure 应用程序配置的功能标志,请继续阅读以下特定于应用程序的语言或平台的快速入门。