有没有办法为已编译的Azure函数自动生成文件夹结构和function.json文件?

时间:2017-07-11 11:43:35

标签: azure azure-functions

如果我使用Visual Studio(2017 15.3 preview with Azure Functions Tools for Visual Studio installed)将以下函数发布到Azure,它将自动生成function.json文件并将其放在代表函数名称的文件夹中。我假设它通过检查方法和参数的属性来做到这一点。

[FunctionName("EmailNotifications")]
public static async Task Run([ServiceBusTrigger(Topics.Enquiries, "EmailNotifications", AccessRights.Listen, Connection = "MyConnectionString")] Enquiry enquiry, TraceWriter log)
{

}

我想在构建时自己生成这些文件,以便通过我们的常规部署管道将它们打包以进行部署。有没有办法做到这一点?

我希望Visual Studio在发布过程中使用的任何内容都会暴露在某个地方,但我无法找到这些信息。

1 个答案:

答案 0 :(得分:3)

这是正确的,有一个后期构建工具,它检查属性并生成function.json;但这是有问题的。 当前路径应该在构建时生成它们,因此您可以将它们包含在部署中。在项目的输出目录中搜索function.json 这不是发生在你身上吗?

FWIW,我们实际上希望不再需要从属性生成function.json(参见https://github.com/Azure/azure-webjobs-sdk-script/issues/1508)并让函数直接加载dll并直接使用属性。

请注意,您不需要在构建计算机上安装Azure功能工具。 function.json文件是从NuGet包Microsoft.NET.Sdk.Functions生成的。只要您的构建计算机上有Visual Studio 2017 msbuild,常规构建就会生成正确的文件。如果使用VSTS,请使用VS 2017构建代理。有关详细信息,请参阅Deploying Visual Studio 2017 Function Projects with VSTS