![](/img/trans.png)
[英]How to get the value of Azure App Configuration Feature Flag with specific label from Spring boot?
[英]Azure App Configuration Feature Flag with Label is not retrieved by Microsoft.FeatureManagement.FeatureManager
我開始在我的項目中使用 Azure App Configuration 服務和 Feature Flags 功能。 我看到的是,每當我定義一個新功能標志並為 label 字段設置一些值時,它就不會被_featureManager.GetFeatureNamesAsync();
檢索到。 因為某些原因。 為了功能標志管理,我創建了一個FeatureFlagManager
,它看起來像這樣:
public class FeatureFlagManager: IFeatureFlagManager
{
private readonly IFeatureManager _featureManager;
public FeatureFlagManager(IFeatureManager featureManager)
{
_featureManager = featureManager;
}
public async Task<IEnumerable<FeatureFlag>> GetFeatureFlags()
{
var featureList = new List<FeatureFlag>();
var featureNames = _featureManager.GetFeatureNamesAsync();
await foreach (var name in featureNames)
{
var isEnabled = await _featureManager.IsEnabledAsync(name);
featureList.Add(new FeatureFlag()
{
FeatureName = name,
IsEnabled = isEnabled
});
}
return featureList;
}
}
REST API 端點:
[HttpGet]
[Route("featureFlags")]
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(IEnumerable<FeatureFlag>))]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> GetFeatureFlags()
{
using (new Tracer(Logger, $"{nameof(ConfigurationController)}.{nameof(GetFeatureFlags)}"))
{
return Ok(await _featureFlagManager.GetFeatureFlags());
}
}
但是每當我調用我的端點以獲取所有具有值的功能標志時,定義了 label 的那個將被忽略;
它以這種方式工作有什么原因還是我遺漏了什么? 我注意到的另一件事是,一旦您在 Azure 中創建了一個新功能標志並定義了一個 label,就沒有進一步的選項來編輯它了。 干杯
在 program.cs 中,您需要告訴配置返回帶標簽的標志。
if (!string.IsNullOrEmpty(settings["AppConfigConnectionString"]))
{
builder.AddAzureAppConfiguration(options => {
options.Connect(settings["AppConfigConnectionString"]);
options.UseFeatureFlags(opt => opt.Label = "WHAT_EVER_LABEL_YOU_WANT");
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.