标签: feature-flags

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

我们有FeatureFlag:IsServiceNeeded,在Azure应用程序配置的功能管理器中没有设置标签。我们通过设置缓存间隔在内置方法 AddAzureAppConfiguration 中使用。

我们正在使用 .net core 3.1 Web api 和 Azure 应用程序配置的功能管理器。

我们在应用程序初始化期间启用了 IsServiceNeeded,几个小时后,我们禁用了 IsServiceNeed。我们等待了一整天,但没有看到差异,因为下面返回 true 而不是 false。由于我们在 program.cs 文件中的配置方式,我们预计它每 3 分钟更新一次。

await _featureManager.IsEnabledAsync("IsServiceNeeded")
Run Code Online (Sandbox Code Playgroud)

如果您发现下面有任何奇怪的地方,请告诉我。提前致谢,

这是我们正在使用它的代码片段。

程序.cs文件

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((context, config) =>
            {
                var configurationRoot = config.Build();
                var appConfigConString = configurationRoot["AppConfigConnectionString"];

                config.AddAzureAppConfiguration(options => options.Connect(appConfigConString).UseFeatureFlags(featureFlagOptions => {
                    **featureFlagOptions.CacheExpirationInterval = TimeSpan.FromMinutes(3);**
                }));
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}
Run Code Online (Sandbox Code Playgroud)

Startup.cs 文件

public class Startup
{ …
Run Code Online (Sandbox Code Playgroud)

azure .net-core asp.net-core azure-app-configuration feature-flags

6
推荐指数
1
解决办法
3272
查看次数

如何在flagsmith中跳过TLS验证?

我想跳过 flagsmith 的 TLS 验证。

注意:我使用的是flagsmithv3 go sdk。

这是我当前的代码:

func InitializeFlagsmith() *flagsmith.Client {
    apiKey := "ser..."
    customerAPIEndpoint := "https://example.com/api/v1/"

    // Create Flagsmith client options
    options := []flagsmith.Option{
        flagsmith.WithBaseURL(customerAPIEndpoint),
        flagsmith.WithLocalEvaluation(context.Background()),
        flagsmith.WithEnvironmentRefreshInterval(60 * time.Second),
    }

    // Initialize Flagsmith client with custom options
    flagsmithClient := flagsmith.NewClient(apiKey, options...)

    return flagsmithClient
}
Run Code Online (Sandbox Code Playgroud)

我检查了flagsmith代码,所以我发现了这一点,如何更改 &Client 中的客户端?

// NewClient creates instance of Client with given configuration.
func NewClient(apiKey string, options ...Option) *Client {
    c := &Client{
        apiKey: apiKey,
        config: defaultConfig(),
        client: flaghttp.NewClient(),
    }

    c.client.SetHeaders(map[string]string{
        "Accept": …
Run Code Online (Sandbox Code Playgroud)

go tls1.2 feature-flags flagsmith

5
推荐指数
1
解决办法
83
查看次数

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

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)

isEnabledfalse,并且输出此日志消息:

找不到功能“CardExpirationNotice”的功能声明。

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

"FeatureManagement__CardExpirationNotice": true
Run Code Online (Sandbox Code Playgroud)

然后isEnabledtrue,因此我可以将问题缩小到 Azure 应用程序配置,并排除功能管理实现。

azure-app-configuration feature-flags

3
推荐指数
1
解决办法
2061
查看次数

LaunchDarkly 中如何识别用户?

我正在使用 LaunchDarkly 进行功能标志管理,但我不知道从哪里获取当前用户的密钥。以下是其 React SDK 的 LD 文档中的示例:

import { withLDProvider } from 'launchdarkly-react-client-sdk';
export default withLDProvider({
  clientSideID: 'your-client-side-id',
  user: {
    "key": "aa0ceb",
    "name": "Grace Hopper",
    "email": "gracehopper@example.com"
  },
  options: { /* ... */ }
})(YourApp);
Run Code Online (Sandbox Code Playgroud)

我如何得到这个key?键 和 和有什么不一样clientSideID

javascript reactjs launchdarkly feature-flags

3
推荐指数
1
解决办法
5456
查看次数