在函数执行期间在 Azure 函数中动态创建 AppSettings C#

Dynamically create AppSettings in Azure function during function execution C#

我正在使用预编译的 Azure Functions,我知道我可以使用 ConfigurationManager.AppSettings["keyname"].

读取应用程序设置中的值

我一直在尝试使用如下内容创建额外的应用程序设置:

var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
settings.Add(pair.Key, pair.Value);

然而,当我尝试这样做时,我收到以下错误消息:

exePath must be specified when not running inside a stand alone exe. 

如果这可能的话,有什么想法吗?或者能够提供一个如何让它工作的指针?

您不能将应用程序设置动态添加到功能应用程序。添加它们的方法是通过门户、ARM API 或 CLI 工具添加 Azure 应用程序设置。

Azure Functions 运行时配置文件不可写,但当它运行应用服务时,它继承了它支持的应用设置功能,这使您可以访问管理将作为应用程序设置和环境注入的设置通过门户运行时的变量。

您可以通过 ARM 或 CLI 以编程方式管理这些设置。

请记住,更改这些设置会触发站点重启,因此根据您的情况,如果您需要动态更新的设置,您可能需要考虑使用不同的 configuration/settings 来源,包括像 Redis 这样的缓存选项来维护共享状态。

我在查找此答案时发现了此线程。您可以使用应用程序配置服务,以便动态更新它。天蓝色的功能 https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview

请注意,在免费层应用程序配置服务上,它每天允许 1,000 个请求,而标准允许每小时 20,000 个请求。似乎在 .NET 中您可以缓存一些。