在 Azure Functions 中使用 Azure App Configuration 的功能标志
Usage of Azure App Configuration's Feature Flags in Azure Functions
我正在研究 Azure Function 的 Http 触发器中 Azure 应用程序配置的以下 2 个功能
- 外部化应用程序设置
- 功能标志
以下是我获取配置参考的方式
因此,当我使用 _configuration["SomeAppSettingKey"] 时,我能够检索该值。所以,我能够实现上面提到的 #1 功能。
我的问题是,我们如何检索功能标志信息?我尝试了以下方法。
如果有人可以帮助我了解如何在 Azure Functions 中检索它(我使用的是 V3),我将不胜感激?示例代码或对文档的任何参考都会有所帮助。
谢谢。
更新1:
我可以反序列化 json 内容,如下所示。但是,这是正确的做法吗?
其中 FeatureManager 是我定义的 class,如下所示。
反序列化 JSON 不是一个好主意,每次添加新密钥时都需要修改 class.
private static IConfiguration Configuration { set; get; }
static Function1()
{
var builder = new ConfigurationBuilder();
builder.AddAzureAppConfiguration(Environment.GetEnvironmentVariable("ConnectionString"));
Configuration = builder.Build();
}
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string keyName = "TestApp:Settings:Message";
string message = Configuration[keyName];
return message != null
? (ActionResult)new OkObjectResult(message)
: new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration.");
}
您只需调用 UseFeatureFlags()
函数作为 AddAzureAppConfiguration
的一部分,让应用程序配置提供程序知道您想要使用功能标志。可以在下面的 link 之后找到一个示例。它使用 Azure Functions 的 FunctionsStartup
和依赖注入 (DI)。功能管理器的一个实例被放入 DI。
下面的 link 显示了如何从 DI 获取 IFeatureManagerSnapshot
的实例并将其用作 Azure Functions 调用的一部分。
我正在研究 Azure Function 的 Http 触发器中 Azure 应用程序配置的以下 2 个功能
- 外部化应用程序设置
- 功能标志
以下是我获取配置参考的方式
因此,当我使用 _configuration["SomeAppSettingKey"] 时,我能够检索该值。所以,我能够实现上面提到的 #1 功能。
我的问题是,我们如何检索功能标志信息?我尝试了以下方法。
如果有人可以帮助我了解如何在 Azure Functions 中检索它(我使用的是 V3),我将不胜感激?示例代码或对文档的任何参考都会有所帮助。
谢谢。
更新1: 我可以反序列化 json 内容,如下所示。但是,这是正确的做法吗?
其中 FeatureManager 是我定义的 class,如下所示。
反序列化 JSON 不是一个好主意,每次添加新密钥时都需要修改 class.
private static IConfiguration Configuration { set; get; }
static Function1()
{
var builder = new ConfigurationBuilder();
builder.AddAzureAppConfiguration(Environment.GetEnvironmentVariable("ConnectionString"));
Configuration = builder.Build();
}
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string keyName = "TestApp:Settings:Message";
string message = Configuration[keyName];
return message != null
? (ActionResult)new OkObjectResult(message)
: new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration.");
}
您只需调用 UseFeatureFlags()
函数作为 AddAzureAppConfiguration
的一部分,让应用程序配置提供程序知道您想要使用功能标志。可以在下面的 link 之后找到一个示例。它使用 Azure Functions 的 FunctionsStartup
和依赖注入 (DI)。功能管理器的一个实例被放入 DI。
下面的 link 显示了如何从 DI 获取 IFeatureManagerSnapshot
的实例并将其用作 Azure Functions 调用的一部分。