2017-01-06 31 views
2

我已经继承了为Azure函数编写的一些代码,并且我几乎不了解Azure函数。现在这个代码是为我们的登台环境编写的,并且具有特定于我们的登台环境的硬编码URL和生产中不同的API密钥。在Azure函数应用程序中存储应用程序特定配置属性的位置

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

我有两个问题:

第一:在哪里存储这些配置属性推荐的地方吗?让我们的代码这一点我有我的CSX文件:

public const string apikey = "37eb882ff6914b4c9205673547c10dc8"; // This value needs to change based on our environment 

我看着的第一件事是功能的应用程序设置 - >配置应用程序设置 - >应用程序设置部分。我添加了一个新的应用程序设置,但找不到任何方法实际上阅读代码中的值(我尝试使用ConfigurationManager),我也找不到有关如何工作的文档。

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

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

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

非常感谢!

回答

6

功能应用设置 - >配置应用设置 - >应用设置位置是存储配置设置的推荐地方。

要访问C#代码的应用程序设置,你可以使用ConfigurationManager中类:

public static readonly string value = System.Configuration.ConfigurationManager.AppSettings["MySetting"]; 

而不是使用“常量”,你需要使用“静态只读”,它会起作用几乎相同的。

+0

这就像我尝试的第一件事,它不工作!勒梅给了它另一个镜头,也许有些东西没有保存,或者我犯了一些id10t错误。 –

+0

@MikeChristensen你有什么运行时版本?它可能需要“最新(〜1)”,这是GA版本,也就是非预览版本。它会给你一个按钮来升级它,如果你的预览版本。 –

+1

现在正在工作。不知道以前的交易是什么,也许这些设置没有及时保存。 –

相关问题