Azure Functions 应用,运行时 v3。
应用程序有一个 FunctionsStartup
类,它首先在其 ConfigureAppConfiguration
方法中启用 Azure App Configuration:
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options
.Connect(appConfigurationConnectionString)
.UseFeatureFlags();
});
并且在其 Configure
方法中启用功能管理,并添加 Azure App Configuration 服务(因此我们可以在运行时刷新设置):
builder.Services
.AddAzureAppConfiguration()
.AddFeatureManagement()
.AddFeatureFilter<ContextualTargetingFilter>();
在 Azure 门户上有一个启用的功能标志,称为 CardExpirationNotice
。代码使用 IFeatureManagerSnapshot
检查功能是否启用:
feature = nameof(Features.CardExpirationNotice);
var isEnabled = await _featureManagerSnapshot.IsEnabledAsync(feature);
isEnabled
为 false
,输出此日志消息:
The feature declaration for the feature 'CardExpirationNotice' was not found.
我尝试在 local.settings.json 中本地配置一个标志:
"FeatureManagement__CardExpirationNotice": true
然后 isEnabled
为 true
,因此我可以将问题缩小到 Azure App Configuration,并排除功能管理实现。
最佳答案
事实证明,当您在 Azure App Configuration 中添加功能标志时,您可以设置一个标签。但是,如果您这样做,那么您还需要在代码中指定该标签:
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options
.Connect(appConfigurationConnectionString)
.UseFeatureFlags(options => options.Label = "payments");
});
关于azure-app-configuration - 为什么找不到 Azure 应用程序配置功能标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69660960/