2016-12-25 2 views
1

Ich stelle einige .NET Core CLI-Anwendungen zusammen, die ich aus PowerShell-basierten Azure-Funktionen aufrufen möchte.Wie veröffentliche ich eine .net Core App für den Azure App Service in einer Funktion?

Leider bin ich ein wenig unscharf darüber, was der richtige/beste Ansatz wäre, meine ausführbaren Dateien so zu verteilen, dass sie aufgerufen werden können.

Hinweis: Ich verwende Git nur zur Quellcodeverwaltung, nicht zur Bereitstellung. Also bitte keine git-basierten Optionen. hier

+1

Nur um zu verdeutlichen - diese .NET-Kernanwendungen sind Konsole? EXEs, die Sie in der Nähe von Azure-Funktionen bereitstellen möchten, damit diese von Powershell-Funktionen aus aufgerufen werden können? Was ist das genaue Szenario, das Sie hier mit Azure Functions lösen möchten? –

+0

Ja, ich möchte, dass die .net Core Console-Apps mit einem PowerShell-Skript erreichbar sind, das von einer Azure-Funktion ausgelöst wird. Das Szenario ist, dass ich eine Hintergrundfunktionalität haben möchte, die auf einem Trigger ausgeführt wird, ohne eine VM rund um die Uhr betreiben zu müssen. –

+0

Aus meiner Sicht können und sollten Sie EXEs nicht zu Azure-Funktionen bringen und diese aufrufen. Sie können die Logik Ihrer .NET-Kernkonsolen-App selbst in C# Azure Functions oder in private Assemblies einbringen und diese zusammen mit Ihren Azure-Funktionen bereitstellen. –

Antwort

0

Zwei Antworten:

  1. EDIT: .NET-Core-Standard 1.3 ist ab dem Zeitpunkt des Schreibens dieses Artikels unterstützt. Nicht 1.6. AppSettings-Konfiguration wird noch nicht mit appsettings.json unterstützt.

  2. Zum Bereitstellen einer .NET Framework 4.6-App, use these instructions (es ist eine Live-Dokumentationswebsite, die häufig aktualisiert wird). Sie können Web bereitstellen oder verwenden Sie VSTS Source Control, FTP oder Kudu verwenden, um eine ZIP-Datei hochladen:

So verwenden Sie die Funktion der App SCM (Kudu) Endpunkt Navigieren Sie zu: https://yourFunctionName.scm.azurewebsites.net. Klicken Sie auf Debug-Konsole> CMD. Navigieren Sie zu D: \ home \ site \ wwwroot \, um host.json oder D: \ home \ site \ wwwroot \ zu aktualisieren, um die Dateien einer Funktion zu aktualisieren. Ziehen Sie eine Datei, die Sie hochladen möchten, in den entsprechenden Ordner im Dateiraster. Im Dateiraster gibt es zwei Bereiche, in denen Sie eine Datei löschen können. Für .zip-Dateien erscheint ein Feld mit der Beschriftung "Hier ziehen zum Hoch- und Entpacken". Bei anderen Dateitypen legen Sie das Dateiraster außerhalb des Felds "Entpacken" ab.

+0

Es scheint einige manuelle Schritte zu sein. Gibt es dafür keinen strukturierteren Ansatz? Ich habe das Gefühl, sobald meine Dateien da oben sind, habe ich immer noch keine Ahnung, was die richtigen Schritte sind. –

+0

Verwenden Sie https://blogs.msdn.microsoft.com/webdev/2016/12/01/visual-studio-tools-for-azure-functions/, wenn Sie eine automatisierte Bereitstellung von Visual Studio durchführen möchten. –

+1

Sie können ein Webbereitstellungspaket erstellen und die Bereitstellung automatisieren. Oder Sie verwenden die REST-APIs von kudu: https://github.com/projectkudu/kudu/wiki/REST-API –

5

Omega, Ihr Szenario wird heute unterstützt. Die Tatsache, dass es sich um eine .NET Core-Anwendung handelt, ist in diesem Szenario für Azure-Funktionen nicht relevant, da Sie sie direkt aufrufen und aus einer Azure-Funktionen-Perspektive wie jede andere PowerShell-Funktion aussehen werden.

Für die Bereitstellungsoptionen variieren Ihre Optionen von der Bereitstellung der integrierten Quellcodeverwaltung über Web Deploy, FTP und andere, sodass Sie die Option auswählen können, die Ihren Anforderungen entspricht, um eine vollständig automatisierte Bereitstellung zu erhalten.

Hier finden Sie detaillierte Informationen zu den Bereitstellungsoptionen für Azure-Funktionen here, aber es sind auch weitere Bereitstellungsoptionen verfügbar (da Azure Functions die vom App Service bereitgestellten Bereitstellungsoptionen unterstützt) here.

Verwandte Themen