【发布时间】:2021-12-08 03:48:24
【问题描述】:
Azure Functions 应用,运行时 v3。
应用程序有一个 FunctionsStartup 类,它首先在其 ConfigureAppConfiguration 方法中启用 Azure 应用配置:
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options
.Connect(appConfigurationConnectionString)
.UseFeatureFlags();
});
在其Configure 方法中,它启用了功能管理,并添加了 Azure 应用配置服务(因此我们可以在运行时刷新设置):
builder.Services
.AddAzureAppConfiguration()
.AddFeatureManagement()
.AddFeatureFilter<ContextualTargetingFilter>();
在 Azure 门户上有一个已启用的功能标志,称为 CardExpirationNotice。代码使用IFeatureManagerSnapshot检查该功能是否开启:
feature = nameof(Features.CardExpirationNotice);
var isEnabled = await _featureManagerSnapshot.IsEnabledAsync(feature);
isEnabled 是false,输出这条日志信息:
未找到功能“CardExpirationNotice”的功能声明。
我尝试在 local.settings.json 中本地配置一个标志:
"FeatureManagement__CardExpirationNotice": true
那么isEnabled 是true,所以我可以将问题缩小到 Azure 应用配置,并排除功能管理实现。
【问题讨论】:
标签: azure-app-configuration feature-flags