Verwalten Ihrer Funktions-App
In Azure Functions wird mit einer Funktionen-App der Ausführungskontext für die einzelnen Funktionen angegeben. Funktionen-App-Verhalten gelten für alle von einer bestimmten Funktionen-App gehosteten Funktionen. Alle Funktionen in einer Funktions-App müssen in der gleichen Sprache geschrieben sein.
Einzelne Funktionen in einer Funktions-App werden gemeinsam bereitgestellt und skaliert. Beim Skalieren der Funktions-App nutzen alle Funktionen in der gleichen Funktions-App die Ressourcen gemeinsam (pro Instanz).
Verbindungszeichenfolgen, Umgebungsvariablen und andere Anwendungseinstellungen werden für jede Funktions-App separat definiert. Daten, die von Funktions-Apps gemeinsam genutzt werden sollen, müssen extern in einem persistenten Speicher gespeichert werden.
Erste Schritte im Azure-Portal
Hinweis
Aufgrund von Einschränkungen beim Bearbeiten von Funktionscode im Azure-Portal sollten Sie Ihre Funktionen lokal entwickeln und Ihr Codeprojekt in einer Funktions-App in Azure veröffentlichen. Weitere Informationen finden Sie unter Entwicklungseinschränkungen im Azure-Portal
Führen Sie die folgenden Schritte aus, um die App-Einstellungen in Ihrer Funktions-App anzuzeigen:
Melden Sie sich mit Ihrem Azure-Konto beim Azure-Portal an. Suchen Sie nach Ihrer Funktions-App, und wählen Sie sie aus.
Erweitern Sie im linken Bereich Ihrer Funktions-App die Option Einstellungen, wählen Sie Umgebungsvariablen aus, und wählen Sie dann die Registerkarte App-Einstellungen aus.
Verwenden von Anwendungseinstellungen
Zusätzlich zu den vordefinierten, von Azure Functions verwendeten App-Einstellungen können Sie eine beliebige Anzahl von App-Einstellungen erstellen, die für Ihren Funktionscode benötigt werden. Weitere Informationen finden Sie unter Referenz zu App-Einstellungen für Azure Functions.
Diese Einstellungen werden verschlüsselt gespeichert. Weitere Informationen finden Sie unter Anwendungseinstellungen.
App-Einstellungen können über das Azure-Portal sowie über die Azure CLI und über Azure PowerShell verwaltet werden. Sie können App-Einstellungen aber auch über Visual Studio Code und über Visual Studio verwalten.
Informationen zum Anzeigen Ihrer App-Einstellungen finden Sie unter Erste Schritte im Azure-Portal.
Auf der Registerkarte App-Einstellungen werden Einstellungen verwaltet, die von Ihrer Funktions-App verwendet werden:
Verwenden von Anwendungseinstellungen
Die Werte für Funktions-App-Einstellungen können auch im Code als Umgebungsvariablen gelesen werden. Weitere Informationen finden Sie im Abschnitt „Umgebungsvariablen“ dieser sprachspezifischen Referenzartikel:
Wenn Sie eine Funktions-App lokal entwickeln, müssen Sie lokale Kopien dieser Werte in der Projektdatei local.settings.json speichern. Weitere Informationen finden Sie unter Datei für lokale Einstellungen.
Einstellungen für die FTPS-Bereitstellung
Azure Functions unterstützt die Bereitstellung von Projektcode in Ihrer Funktions-App über FTPS. Da diese Bereitstellungsmethode die Synchronisierung von Triggern erfordert, wird sie nicht empfohlen. Verwenden Sie zum sicheren Übertragen von Projektdateien immer FTPS und nicht FTP.
Die für die FTPS-Bereitstellung erforderlichen Anmeldeinformationen können mithilfe einer der folgenden Methoden abgerufen werden:
Sie können die für die FTPS-Veröffentlichung erforderlichen Anmeldeinformationen im Azure-Portal abrufen, indem Sie das Veröffentlichungsprofil für Ihre Funktions-App herunterladen.
Wichtig
Das Veröffentlichungsprofil enthält wichtige Sicherheitsanmeldeinformationen. Stellen Sie immer sicher, dass die heruntergeladene Datei auf Ihrem lokalen Computer geschützt ist.
So laden Sie das Veröffentlichungs Profil Ihrer Funktions-App herunter:
Suchen Sie im Azure-Portal die Seite für Ihre Funktions-App, und erweitern Sie Einstellungen>Konfiguration in der linken Spalte.
Wählen Sie auf der Seite Konfiguration die Registerkarte Allgemeine Einstellungen aus, und stellen Sie sicher, dass die Option Veröffentlichungsanmeldeinformationen für die SCM-Standardauthentifizierung auf Ein eingestellt ist. Wenn diese Einstellung auf Aus eingestellt ist, können Sie keine Veröffentlichungsprofile verwenden. Wählen Sie daher Ein und dann Speichern aus.
Kehren Sie zur Seite Übersicht der Funktions-App zurück, und wählen Sie dann Veröffentlichungsprofil abrufen aus.
Speichern und kopieren Sie den Inhalt der Datei.
- Suchen Sie in der Datei das Element
publishProfile
mit dem AttributpublishMethod="FTP"
. In diesem Element enthalten die AttributepublishUrl
,userName
unduserPWD
die Ziel-URL und die Anmeldeinformationen für die Veröffentlichung über FTPS.
Typ des Hostingplans
Wenn Sie eine Funktions-App erstellen, erstellen Sie auch einen Hostingplan, in dem die App ausgeführt wird. Ein Plan kann mehrere Funktions-App umfassen. Funktionalität, Skalierung und Preis Ihrer Funktionen hängen vom Typ des Plans ab. Weitere Informationen finden Sie unter Hostingoptionen für Azure Functions.
Sie können den von Ihrer Funktions-App verwendeten Plantyp im Azure-Portal oder mithilfe der Azure-Befehlszeilenschnittstelle oder Azure PowerShell-APIs bestimmen.
Die folgenden Werte geben den Plantyp an:
Plantyp | Azure-Portal | Azure-Befehlszeilenschnittstelle/PowerShell |
---|---|---|
Verbrauch | Verbrauch | Dynamic |
Premium | ElasticPremium | ElasticPremium |
Dediziert (App Service) | Verschiedene | Verschiedene |
Wenn Sie den von Ihrer Funktions-App verwendeten Plantyp ermitteln möchten, navigieren Sie im Azure-Portal auf der Seite Übersicht der Funktions-App zu App Service-Plan.
Um den Tarif anzuzeigen, wählen Sie unter App Service-Plan den Namen des App Service-Plans und anschließend im linken Bereich Einstellungen > Eigenschaften aus.
Planen der Migration
Sie können eine Funktions-App zwischen einem Verbrauchsplan und einem Premium-Plan unter Windows migrieren. Beachten Sie bei der Migration zwischen Plänen die folgenden Überlegungen:
- Die direkte Migration zu einem dedizierten Plan (App Service) wird nicht unterstützt.
- Die Migration wird unter Linux nicht unterstützt.
- Der Quellplan und der Zielplan müssen sich in derselben Ressourcengruppe und geografischen Region befinden. Weitere Informationen finden Sie unter Move an app to another App Service plan (Verschieben einer App in einen anderen App Service-Plan).
- Die spezifischen CLI-Befehle hängen von der Richtung der Migration ab.
- Downtime bei Ihren Funktionsausführungen tritt auf, wenn die Funktions-App zwischen Plänen migriert wird.
- Der Zustand und andere App-spezifische Inhalte werden beibehalten, da die App vor und nach der Migration die gleiche Azure Files-Freigabe verwendet.
Sie können Ihren Plan mithilfe dieser Tools migrieren:
Sie können das Azure-Portal verwenden, um zu einem anderen Plan zu wechseln.
Wählen Sie die Richtung der Migration für Ihre App unter Windows aus.
Entwicklungseinschränkungen im Azure-Portal
Die folgende Tabelle gibt Aufschluss über die Betriebssysteme und Programmiersprachen, die Bearbeitung im Portal unterstützen:
Sprache | Windows: Verbrauch | Windows Premium | Windows: Dediziert | Linux: Verbrauch | Linux Premium | Linux: Dediziert |
---|---|---|---|---|---|---|
C# | ||||||
Java | ||||||
JavaScript (Node.js) | ✔ | ✔ | ✔ | ✔ | ✔ | |
Python | ✔ | ✔ | ✔ | |||
PowerShell | ✔ | ✔ | ✔ | |||
TypeScript (Node.js) |
Berücksichtigen Sie die folgenden Einschränkungen, wenn Sie Ihre Funktionen im Azure-Portal entwickeln:
- Die Bearbeitung im Portal wird nur für Funktionen unterstützt, die im Azure-Portal erstellt oder zuletzt dort geändert wurden.
- Die Bearbeitung im Portal wird nur für JavaScript-, PowerShell-, Python und C#-Skriptfunktionen unterstützt.
- Die Bearbeitung im Portal wird derzeit im Flex-Verbrauchstarif nicht unterstützt.
- Wenn Sie den Code in einer Funktions-App von außerhalb des Azure-Portals bereitstellen, können Sie den Code für diese Funktions-App nicht mehr im Portal bearbeiten. In diesem Fall verwenden Sie einfach die lokale Entwicklung weiter.
- Für Python wird die Entwicklung mit benutzerdefinierten Modulen derzeit nicht im Portal unterstützt. Um Ihrer Funktions-App benutzerdefinierte Module hinzuzufügen, müssen Sie Ihre App lokal entwickeln.
- Für kompilierte C#-Funktionen und Java-Funktionen können Sie die Funktions-App und zugehörige Ressourcen im Portal erstellen. Sie müssen jedoch das Codeprojekt der Funktionen lokal erstellen und dann in Azure veröffentlichen.
Entwickeln Sie Ihre Funktionen nach Möglichkeit lokal, und veröffentlichen Sie Ihr Codeprojekt in einer Funktions-App in Azure. Weitere Informationen finden Sie unter Lokales Codieren und Testen von Azure Functions.
Manuelles Installieren von Erweiterungen
C#-Klassenbibliotheksfunktionen können die NuGet-Pakete für Bindungserweiterungen direkt im Klassenbibliotheksprojekt enthalten. Für andere Nicht-.NET Sprachen und C#-Skripts sollten Sie Erweiterungspakete verwenden. Wenn Sie Erweiterungen manuell installieren müssen, können Sie dazu Azure Functions Core Tools lokal verwenden. Wenn Sie Erweiterungsbündel nicht verwenden und nur in der Lage sind, im Portal zu arbeiten, müssen Sie Advanced Tools (Kudu) verwenden, um die extensions.csproj-Datei direkt auf der Website manuell zu erstellen. Stellen Sie sicher, dass Sie zuerst das Element extensionBundle
aus der Datei host.json entfernen.
Der gleiche Prozess funktioniert für jede andere Datei, die Sie Ihrer App hinzufügen müssen.
Wichtig
Bearbeiten Sie Dateien nach Möglichkeit nicht direkt in Ihrer Funktions-App in Azure. Wir empfehlen, Ihre App-Dateien lokal herunterzuladen, indem Sie Core Tools verwenden, um Erweiterungen und andere Pakete zu installieren, Ihre Änderungen zu überprüfen und dann Ihre App mithilfe von Core Tools oder einer der anderen unterstützten Bereitstellungsmethoden erneut zu veröffentlichen.
Mit dem integrierten Funktions-Editor im Azure-Portal können Sie Ihren Funktionscode und Ihre Konfigurationsdateien direkt im Portal aktualisieren:
Wählen Sie Ihre Funktions-App und dann unter Funktionen die Option Funktionen aus.
Wählen Sie Ihre Funktion aus, und wählen Sie Code+ Test unter Entwickler aus.
Wählen Sie Ihre zu bearbeitende Datei aus, und wählen Sie Speichern aus, wenn Sie fertig sind.
Dateien am Stamm der App (z. B. „function.proj“ oder „extensions.csproj“) müssen mithilfe von Erweiterte Tools (Kudu) erstellt und bearbeitet werden:
Wählen Sie Ihre Funktions-App aus, erweitern Sie Entwicklungstools, und wählen Sie anschließend Erweiterte Tools>Go aus.
Wenn Sie dazu aufgefordert werden, melden Sie sich mit Ihren Azure-Anmeldeinformationen bei der SCM-Site (Source Control Manager) an.
Wählen Sie im Menü Debugging-Konsole die Option CMD aus.
Navigieren Sie zu
.\site\wwwroot
, wählen Sie oben die Plusschaltfläche (+) aus, und wählen Sie Neue Datei aus.Geben Sie der Datei einen Namen (z. B.
extensions.csproj
), und drücken Sie die EINGABETASTE.Wählen Sie die Bearbeitungsschaltfläche neben der neuen Datei aus, fügen Sie der Datei Code hinzu, oder aktualisieren Sie ihn, und wählen Sie anschließend Speichern aus.
Führen Sie für eine Projektdatei wie extensions.csproj den folgenden Befehl aus, um das Erweiterungsprojekt neu zu erstellen:
dotnet build extensions.csproj
Plattformfeatures
Funktions-Apps werden auf der Azure App Service-Plattform ausgeführt und von ihr verwaltet. So haben die Funktionen-Apps Zugriff auf die meisten Features der Azure-Kernplattform für das Webhosting. Wenn Sie das Azure-Portal verwenden, haben Sie im linken Bereich Zugriff auf die zahlreichen Features der App Service-Plattform, die Sie in Ihren Funktions-Apps verwenden können.
Die folgende Matrix zeigt die Unterstützung von Features des Azure-Portals nach Hostingplan und Betriebssystem:
Funktion | Verbrauchstarif | Flex-Verbrauchstarif | Premium-Plan | Dedizierter Plan |
---|---|---|---|---|
Erweiterte Tools (Kudu) | Windows: ✔ Linux: X |
X | ✔ | ✔ |
App Service-Editor | Windows: ✔ Linux: X |
X | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Sicherungen | X | X | X | ✔ |
Konsole | Windows: Befehlszeile Linux: X |
X | Windows: Befehlszeile Linux: SSH |
Windows: Befehlszeile Linux: SSH |
Im weiteren Verlauf dieses Artikels werden schwerpunktmäßig folgende Features im Portal behandelt, die für Ihre Funktions-Apps nützlich sind:
Weitere Informationen zum Verwenden von App Service-Einstellungen finden Sie unter Konfigurieren von Web-Apps in Azure App Service.
App Service-Editor
Der App Service-Editor ist ein leistungsstarker Editor im Portal, mit dem Sie JSON-Konfigurationsdateien und Codedateien gleichermaßen bearbeiten können. Bei Auswahl dieser Option wird eine separate Browserregisterkarte mit einem einfachen Editor gestartet. Dieser Editor ermöglicht die Integration in das Git-Repository. Außerdem können Sie damit Code ausführen und debuggen sowie Einstellungen von Funktionen-Apps ändern. Im Vergleich zum integrierten Funktionen-Editor bietet dieser Editor eine erweiterte Entwicklungsumgebung für Ihre Funktionen.
Es empfiehlt sich, Funktionen auf dem lokalen Computer zu entwickeln. Wenn Sie Funktionen lokal entwickeln und in Azure veröffentlichen, sind Ihre Projektdateien im Azure-Portal schreibgeschützt. Weitere Informationen finden Sie unter Lokales Codieren und Testen von Azure Functions.
Konsole
Die Konsole im Portal ist das ideale Entwicklungstool, wenn Sie Funktionen-Apps über die Befehlszeile konfigurieren möchten. Häufig verwendete Befehle sind z.B. Erstellen von Verzeichnissen und Dateien, Navigation sowie das Ausführen von Batchdateien und -skripts.
Bei der lokalen Entwicklung wird die Verwendung von Azure Functions Core Tools und Azure-Befehlszeilenschnittstelle empfohlen.
Erweiterte Tools (Kudu)
Die erweiterten Tools für App Service (auch bekannt als Kudu) ermöglichen den Zugriff auf erweiterte Verwaltungsfunktionen der Funktionen-App. Über Kudu können Sie Systeminformationen, App-Einstellungen, Umgebungsvariablen, Websiteerweiterungen, HTTP-Header und Servervariablen verwalten. Sie können Kudu auch starten, indem Sie zum SCM-Endpunkt für die Funktions-App navigieren (Beispiel: https://<myfunctionapp>.scm.azurewebsites.net/
).
Bereitstellungscenter
Wenn Sie Ihren Funktionencode mithilfe einer Quellcodeverwaltungslösung entwickeln und verwalten, können Sie im Bereitstellungscenter beim Erstellen und Bereitstellen auf die Quellcodeverwaltung zurückgreifen. Ihr Projekt wird in Azure erstellt und bereitgestellt, wenn Sie Aktualisierungen vornehmen. Weitere Informationen finden Sie unter Bereitstellungstechnologien in Azure Functions.
Cross-Origin Resource Sharing
Um die Ausführung von schädlichem Code auf dem Client zu verhindern, blockieren moderne Browser Anforderungen, die von Webanwendungen an Ressourcen in einer separaten Domäne gerichtet werden. Mit Cross-Origin Resource Sharing (CORS) kann ein Header vom Typ Access-Control-Allow-Origin
die Ursprünge deklarieren, von denen Endpunkte in Ihrer Funktions-App aufgerufen werden dürfen.
Wenn Sie die Liste Zulässige Ursprünge für Ihre Funktions-App konfigurieren, wird der Header Access-Control-Allow-Origin
automatisch allen Antworten von HTTP-Endpunkten in Ihrer Funktions-App hinzugefügt.
Wenn ein weiterer Domäneneintrag vorhanden ist, wird das Platzhalterzeichen (*) ignoriert.
Authentifizierung
Wenn Funktionen einen HTTP-Trigger verwenden, können Sie festlegen, dass Aufrufe zunächst authentifiziert werden müssen. Der App-Dienst unterstützt die Microsoft Entra-Authentifizierung und Anmeldung mit sozialen Anbietern wie Facebook, Microsoft und X. Informationen zum Konfigurieren bestimmter Authentifizierungsanbieter finden Sie in der Übersicht über die Azure App Service-Authentifizierung.