我有一個Azure資源組,其中包含調用Azure函數的Azure邏輯應用程序。如何在Azure ARM json模板中使Azure函數代碼可讀
我將此資源組導出爲ARM模板,以便我可以將資源重新導入到另一個Azure訂閱。這工作正常,但問題是,Azure功能代碼(100 +行C#文件)全部包含在JSON ARM模板文件的一行中。這使得很難從模板本身讀取或修改Azure功能。
有沒有簡單的方法來解決這個問題?理想情況下,我的Azure函數將在它自己的文件(run.csx)中,而Azure JSON ARM模板只會引用該外部文件。
這是我的ARM模板中的函數資源的JSON blob。包含關鍵run.csx的行是我關心的問題,我怎樣才能讓這段代碼更具可讀性並易於開發人員編輯?
{
"apiVersion": "2015-08-01",
"name": "[concat(parameters('test_site_name'),'\/ProvisionUser')]",
"type": "Microsoft.Web\/sites\/functions",
"properties": {
"config": {
"bindings": [
{
"authLevel": "function",
"name": "req",
"type": "httpTrigger",
"direction": "in"
},
{
"name": "return",
"direction": "out",
"type": "http"
}
]
},
"files": {
"run.csx": "LOTS OF C# CODE HERE - LOTS OF C# CODE HERE FROM MY AZURE FUNCTION - LOTS OF C# CODE HERE FROM MY AZURE FUNCTION - LOTS OF C# CODE HERE FROM MY AZURE FUNCTION - LOTS OF C# CODE HERE FROM MY AZURE FUNCTION - LOTS OF C# CODE HERE FROM MY AZURE FUNCTION - LOTS OF C# CODE HERE FROM MY AZURE FUNCTION - ",
"project.json": "{\r\n \"frameworks\": {\r\n \"net46\": {\r\n \"dependencies\": {\r\n \"Microsoft.IdentityModel.Clients.ActiveDirectory\": \"3.13.8\",\r\n \"Newtonsoft.Json\": \"10.0.2\",\r\n \"Microsoft.Sdk.CoreAssemblies\" : \"8.2.0.2\"\r\n }\r\n }\r\n }\r\n}"
}
}
}
最好使用msdeploy提供程序通過某些雲託管zip部署功能文件,例如,像[this](https://github.com/davidebbo/AzureWebsitesSamples/blob/master/ARMTemplates/FunctionsWebDeploy.json) –
此外,您可以通過源代碼控制引用進行部署,例如此示例(函數和邏輯應用程序)https:// github .com/Azure/azure-quickstart-templates/tree/master/101-logic-app-and-function-app – jeffhollan
謝謝,這些看起來很有用,會研究這些選項。 –