azure-app-configuration - 为什么找不到 Azure 应用程序配置功能标志?

标签 azure-app-configuration feature-flags

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);

isEnabledfalse,输出此日志消息:

The feature declaration for the feature 'CardExpirationNotice' was not found.

我尝试在 local.settings.json 中本地配置一个标志:

"FeatureManagement__CardExpirationNotice": true

然后 isEnabledtrue,因此我可以将问题缩小到 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/

相关文章:

java - 无法将 'config.map' 下的属性绑定(bind)到 java.util.Map<java.lang.String、java.util.Map<java.lang.Integer、java.util.List<java.lang.Integer>>> :

缓存过期后 Azure 功能标志不会更新

c# - 从 Azure 应用程序配置存储获取值,其中内容类型在 C# 中设置为 application/json

Azure 应用程序配置存储 - 使用 Bicep 设置键值标签

c# - 在订阅 Azure 应用程序配置中的更改的 Web API 中实现 Azure 事件网格事件处理程序

c# - .NET Core 2.2 - 无法从 Azure AppConfig 获取应用程序配置

azure - 缓存过期后,IFeatureManager 缓存是否在第一次调用时未刷新?

azure - 如何在 Java、Spring 的 azure 应用程序配置中始终加载无标签的功能标志

c# - 如何模拟FeatureFilterEvaluationContext参数?