Mic*_*out 3 azure-app-configuration feature-flags
Azure Functions 应用程序,运行时 v3。
该应用程序有一个FunctionsStartup类,它首先在其方法中启用 Azure 应用程序配置ConfigureAppConfiguration:
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options
.Connect(appConfigurationConnectionString)
.UseFeatureFlags();
});
Run Code Online (Sandbox Code Playgroud)
在其Configure方法中,它启用功能管理,并添加 Azure 应用程序配置服务(以便我们可以在运行时刷新设置):
builder.Services
.AddAzureAppConfiguration()
.AddFeatureManagement()
.AddFeatureFilter<ContextualTargetingFilter>();
Run Code Online (Sandbox Code Playgroud)
在 Azure 门户上有一个已启用的功能标志,称为CardExpirationNotice。该代码用于IFeatureManagerSnapshot检查该功能是否启用:
feature = nameof(Features.CardExpirationNotice);
var isEnabled = await _featureManagerSnapshot.IsEnabledAsync(feature);
Run Code Online (Sandbox Code Playgroud)
isEnabled是false,并且输出此日志消息:
找不到功能“CardExpirationNotice”的功能声明。
我尝试在 local.settings.json 中本地配置一个标志:
"FeatureManagement__CardExpirationNotice": true
Run Code Online (Sandbox Code Playgroud)
然后isEnabled是true,因此我可以将问题缩小到 Azure 应用程序配置,并排除功能管理实现。
事实证明,当您在 Azure 应用程序配置中添加功能标志时,可以设置标签。但如果您这样做,那么您还需要在代码中指定该标签:
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options
.Connect(appConfigurationConnectionString)
.UseFeatureFlags(options => options.Label = "payments");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |