何处在Azure Functions应用程序中存储特定于应用程序的配置属性

Mik*_*sen 2 configuration azure csx azure-functions

我继承了一些为Azure Functions编写的代码,我对Azure Functions几乎一无所知.现在,这段代码是为我们的登台环境编写的,并且包含特定于我们的登台环境的硬编码URL以及生产中不同的各种API密钥.

我想要完成的第一项任务是摆脱这些硬编码字符串并将它们移动到可以通过我们的构建系统部署的某种"配置"文件中.换句话说,暂存Azure功能应用程序将以我们的暂存环境为目标,生产应用程序将以我们的生产环境为目标.使用普通的C#应用​​程序,我只是将这些东西粘贴在web.config或app.config文件中.

我有两个问题:

第一:存储这些配置属性的推荐位置在哪里?让我们在CSX文件中获取这些代码:

public const string apikey = "37eb882ff6914b4c9205673547c10dc8"; // This value needs to change based on our environment
Run Code Online (Sandbox Code Playgroud)

我调查的第一件事是功能应用设置 - >配置应用设置 - >应用设置部分.我添加了一个新的应用程序设置,但找不到任何方法来实际读取代码中的值(我尝试使用ConfigurationManager),也无法找到有关其工作原理的文档.

接下来我看的是function.json文件,它包含有关如何调用函数的绑定信息.这里似乎没有一个区域可以添加我自己的设置.

最后,我查看了位于应用程序根目录的host.json文件.这个文件有很多文档,但它似乎不适合自定义设置.

第二:我在这里添加我的属性后,如何使用C#代码读取它?换句话说,我会用什么替换那条public const string线?

非常感谢!

Chr*_*ann 6

功能的应用程序设置 - > 配置应用程序设置 - > 应用程序设置位置存储配置设置的推荐的地方.

要从C#代码访问App Settings,您只需使用ConfigurationManager类:

public static readonly string value = System.Configuration.ConfigurationManager.AppSettings["MySetting"];
Run Code Online (Sandbox Code Playgroud)

而不是使用"const",你需要使用"静态只读",它的功能几乎相同.