Ich habe eine Azure-Ressourcengruppe, die eine Azure Logic-Anwendung enthält, die eine Azure-Funktion aufruft.So machen Sie Azure-Funktionscode in Azure ARM lesbar json-Vorlage
Ich habe diese Ressourcengruppe als ARM-Vorlage exportiert, sodass ich die Ressourcen erneut in ein anderes Azure-Abonnement importieren kann. Das funktioniert gut, aber das Problem ist, dass der Azure-Funktionscode (100+ Zeilen-C# -Datei) in einer Zeile der JSON-ARM-Vorlagendatei enthalten ist. Dies macht es sehr schwer, die Azure-Funktion aus der Vorlage selbst zu lesen oder zu ändern.
Gibt es eine einfache Möglichkeit, dies zu umgehen? Im Idealfall würde sich meine Azure-Funktion in einer eigenen Datei (run.csx) befinden und die Azure JSON ARM-Vorlage würde nur auf diese externe Datei verweisen.
Hier ist mein JSON-Blob für die Funktionsressource in der ARM-Vorlage. Die Zeile, die run.csx für einen Schlüssel enthält, ist mein Anliegen. Wie kann ich diesen Code für Entwickler leichter lesbar machen?
{
"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}"
}
}
}
Am besten stellen Sie die Funktionsdateien über einige Cloud-gehostete Zip-Dateien mithilfe des msdeploy-Providers bereit, z. wie [this] (https://github.com/davidebbo/AzureWebsitesSamples/blob/master/ARMTemplates/FunctionsWebDeploy.json) –
Zusätzlich können Sie über Source Control-Referenzen wie dieses Beispiel (Funktion und Logik-App) https: // github bereitstellen .com/Azure/azure-quickstart-templates/baum/master/101-logic-app-und-funktion-app – jeffhollan
Danke, diese sehen nützlich aus, wird in diese Optionen schauen. –