我正在创建一个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的加载脚本?
答案 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文件非常适合快速,肮脏的需求或在周围播放,但对于生产代码而言则不太理想。此外,许多这些工具实际上使您可以更轻松地为您的应用设置部署管道。