在本指南中,您将使用时间窗口筛选器按计划为 Python 应用程序启用功能。
使用的示例基于功能管理 快速入门中引入的 Python 应用程序。 在继续学习之前,请完成快速入门,创建具有 Beta 功能标志的 Python 应用程序。 完成后,必须将时间窗口筛选器添加到你的应用程序配置存储中的 Beta 功能标志。
先决条件
使用时间窗口筛选器
您在先决条件中为 Beta 功能标志添加了时间窗口筛选器。 接下来,在Python应用程序中将功能标志与时间窗口筛选器配合使用。
创建功能管理器时,内置功能筛选器会自动添加到其功能筛选器集合中。
from featuremanagement import FeatureManager
from azure.appconfiguration.provider import load
from azure.identity import DefaultAzureCredential
endpoint = os.environ.get("APPCONFIGURATION_ENDPOINT_STRING")
# Connect to Azure App Configuration using and Endpoint and Azure Entra ID
# feature_flag_enabled makes it so that the provider will load feature flags from Azure App Configuration
# from Azure App Configuration, when the refresh operation is triggered
config = load(endpoint=endpoint, credential=DefaultAzureCredential(), feature_flag_enabled=True)
feature_manager = FeatureManager(config)
print("Beta is", feature_manager.is_enabled("Beta"))
操作中的时间窗口筛选器
运行应用程序时,配置提供程序会从 Azure 应用程序配置加载 Beta 功能标志。
is_enabled("Beta") 方法的结果将输出到控制台。 如果你的当前时间早于为时间窗口筛选器设置的开始时间,则时间窗口筛选器将禁用 Beta 功能标志。
你将看到以下控制台输出。
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
一旦过了开始时间,你会看到 Beta 功能标记已被时间窗口过滤器启用。
在启用 Beta 时,你将看到控制台输出发生更改。
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Beta is enabled: true
Beta is enabled: true
如果在设置时间窗口筛选器时启用了重复,那么一旦当前时间超过您在时间窗口筛选器中设置的结束时间,控制台输出将变为 Beta is enabled: false。 但是,它会根据您的重复设置再次变为 Beta is enabled: true,并继续按此模式重复,直到重复到期时间(如果已设置)。
后续步骤
若要了解有关功能筛选器的详细信息,请继续学习以下文档。
有关 Python 特性管理库的完整功能概述,请继续阅读下方文档。