如何在使用ARM模板部署Azure函数时添加project.json和run.csx

时间:2018-07-18 15:06:13

标签: azure azure-functions arm-template

我正在创建一个template.json以使用ARM模板部署我的Function App。我知道我们可以在功能应用程序中创建功能:

{
                "apiVersion": "2015-08-01",
                "name": "TestFunctionCM",
                "type": "functions",
                "dependsOn": [
                    "[resourceId('Microsoft.Web/sites', variables('functionAppName'))]"
                ],
                "properties": {
                "config": {
                "bindings": [
                    {
                    "authLevel": "anonymous",
                    "name": "req",
                    "type": "httpTrigger",
                    "direction": "in"
                    },
                    {
                    "name": "res",
                    "type": "http",
                    "direction": "out"
                    }
                ]
              },
              "files": {
                "run.csx": "using System.Net;\r\n\r\n public static HttpResponseMessage Run(HttpRequestMessage req, TraceWriter log)\r\n\r\n {\r\n\r\n     return req.CreateResponse(HttpStatusCode.OK, \"Hello from MyFunction\");\r\n\r\n }"
              }
            }

但这仅适用于非常小的和简单的功能。是否可以在此处 run.csx 和project.json的加载脚本

1 个答案:

答案 0 :(得分:0)

我认为这属于以下类别,因为您不能意味着您应该:)我鼓励您为代码设置单独的部署,而不是将ARM模板用于源代码部署(并非真正地按原定计划使用)目的)。将源代码嵌入到ARM模板中不会被认为是一个好方法,因为您可能已经看到了限制

这可以像VSTS Build and Release流程那样正式,也可以像设置git存储库(github,vsts,bitbucket等)那样简单,并且以这种方式部署应用程序。通过GIT进行部署非常普遍且容易,您可以在https://docs.microsoft.com/en-us/azure/azure-functions/functions-continuous-deployment上找到有关如何执行此操作的更多详细信息。甚至从开发人员工具或通过FTP发布也是一个更好的选择。

最后,我建议您通过诸如Visual Studio或Visual Studio Code之类的工具使用c#构建预编译的应用程序。 CSX文件非常适合快速,肮脏的需求或在周围播放,但对于生产代码而言则不太理想。此外,许多这些工具实际上使您可以更轻松地为您的应用设置部署管道。