我有一个azure函数,它在启动时会加载here所述的配置。据我了解,azure函数可以在多个实例中运行。是否可以通过编程方式在所有这些实例中更新配置?
现在-我尝试创建HTTP触发函数,但是我感觉它只会在正在运行的实例中更新对象。
这是我的HTTP触发的天蓝色函数代码,用于更新config对象。
public class TestUpdater
{
private IServiceProvider provider;
public TestUpdater(IServiceProvider provider)
{
this.provider = provider;
}
[FunctionName("Update")]
public async Task<IActionResult> Get(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "update")] HttpRequest req,
ILogger log)
{
if (log is null)
{
throw new ArgumentNullException(nameof(log));
}
log.LogInformation("C# HTTP trigger function processed a request.");
var obj = provider.GetService<MyConfig>();
++obj.counter;
obj.message = obj.counter.ToString();
return new OkObjectResult(obj);
}
}
答案 0 :(得分:1)
即使Function应用程序在多个实例上运行,Azure基础结构也将负责在所有实例上复制代码和配置。作为最终用户,您不必为此担心。
例如扩展Function应用程序时,Azure基础结构将自动在所有实例上复制所有代码库和配置。客户无需担心在每个实例上复制代码和配置。
https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale