我有一个Azure函数项目,我使用Visual Studio 2017 15.3预览在C#中编写的。函数项目包含两个独立函数,这两个函数都是定时器触发的。我在appsettings.json文件中指定了一些appsettings,该文件设置为Copy to build上的输出目录。发布azure函数和使用appsettings.json
当我发布Azure函数项目时,这两个函数将显示在Azure门户中,但由于它们无法访问应用程序设置,因此它们会失败。现在我知道我可以在设置刀片应用specifiy设置,但我想用appsettings.json应根据本GitHub的问题是可能的:https://github.com/Azure/azure-functions-cli/issues/33
这SO答案包含得到它的工作Azure Functions - using appsettings.json一些信息。现在问题在于“Azure会尝试将appsettings.json文件查找到您所工作的函数的根文件夹中。”因为它代表我的功能项目包含下列文件结构:
-appsettings.json
-Function_function1.cs
-Function_function2.cs
-host.json
当项目构建和部署,我结束了对每个在wwwroot文件功能的文件夹,每一种包含function.json文件。 appsettings.json文件进入wwwroot/bin文件夹,功能无法访问它。
我想,也许如果我改变了项目功能有一个文件夹结构,将部署appsettings.json,我把它改成下面
-host.json
-Function_function1\
--Function_function1.cs
--appsettings.json
-Function_function2\
--Function_function2.cs
--appsettings.json
这没有结果我的预期,并在这一点我不太清楚我需要做什么才能将appsettings拷贝到wwwroot下的函数文件夹而不是bin文件夹中,任何指导都将不胜感激。
我相信这是正确的 - 我们沿着这条道路走下去,使用ARM模板填充我们的功能应用程序的应用程序设置。 然后设置VSTS构建来更新这些应用程序,因为我们将更改更改为实际功能的代码。它对我们来说已经足够好了 - 但是同意一个替代方案会很好,所以很想听听有没有一个。 –
很遗憾,事情已经改变,它不会自动使用appsettings.json。您应该能够做到的另一种方法是使用Azure Powershell命令行程序“Set-Azure Website”并设置-appsettings,然后这将存储您在标准应用程序设置部分中指定的设置,尽管连接了set-azurewebsite拿起appsettings.json需要更多的工作。 – ObiEff
下面是一个GitHub功能请求,您可以分享有关更简单的方式来管理功能应用程序设置的意见:** https://github.com/Azure/azure-functions-cli/issues/339** 这是一个继续前面对Azure函数CLI的更新,它使我们能够仅部署_only_设置(而不是二进制文件):https://github.com/Azure/azure-functions-cli/issues/157 –