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

  1. Melden Sie sich zuerst im Azure-Portal mit Ihrem Azure-Konto an. Geben Sie auf der Suchleiste oben im Portal den Namen der Funktions-App ein, und wählen Sie sie in der Liste aus.

  2. Wählen Sie im linken Bereich unter Einstellungen die Option Konfiguration aus.

    Function app overview in the Azure portal

Auf der Übersichtsseite können Sie zu allen Punkten navigieren, die Sie zur Verwaltung Ihrer Funktions-App benötigen, insbesondere zu den Anwendungseinstellungen und Plattformfeatures .

Verwenden von Anwendungseinstellungen

Sie können eine beliebige Anzahl von Anwendungseinstellungen erstellen, die für Ihren Funktionscode erforderlich sind. Es gibt auch vordefinierte Anwendungseinstellungen, die von Functions verwendet 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.

Anwendungseinstellungen können über das Azure-Portal und mithilfe der Azure CLI und Azure PowerShellverwaltet werden. Sie können Anwendungseinstellungen auch über Visual Studio Code und Visual Studio verwalten.

Informationen zu den Anwendungseinstellungen finden Sie unter Erste Schritte im Azure-Portal.

Die Registerkarte Anwendungseinstellungen verwaltet Einstellungen, die von Ihrer Funktions-App verwendet werden. Sie müssen Werte anzeigen auswählen, um die Werte im Portal anzuzeigen. Wählen Sie zum Hinzufügen einer Einstellung im Portal Neue Anwendungseinstellung aus, und fügen Sie das neue Schlüssel-Wert-Paar hinzu.

Function app settings in the Azure portal.

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 Referenzthemen:

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 diese Methode nicht empfohlen. Verwenden Sie zum sicheren Übertragen von Projektdateien immer FTPS und nicht FTP.

Sie können die für die FTPS-Bereitstellung erforderlichen Anmeldeinformationen mit einer der folgenden Methoden abrufen:

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. Sie sollten die heruntergeladene Datei immer auf Ihrem lokalen Computer sichern.

So laden Sie das Veröffentlichungs Profil Ihrer Funktions-App herunter:

  1. Wählen Sie die Seite Übersicht der Funktions-App aus, und wählen Sie dann Veröffentlichungsprofil abrufen aus.

    Download publish profile

  2. Speichern und kopieren Sie den Inhalt der Datei.

  1. Suchen Sie in der Datei das Element publishProfile mit dem Attribut publishMethod="FTP". In diesem Element enthalten die Attribute publishUrl, userName und userPWD 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 Azure Functions-Hostingoptionen.

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 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, sehen Sie im Azure-Portal auf der Registerkarte Übersicht für die Funktions-App unter App Service-Plan nach. Um den Tarif anzuzeigen, wählen Sie den Namen des App Service-Plans aus, und wählen Sie dann Eigenschaften im linken Bereich aus.

View scaling plan in the portal

Planen der Migration

Sie können das Azure-Portal oder Azure CLI-Befehle verwenden, um eine Funktions-App unter Windows zwischen einem Verbrauchsplan und einem Premium-Plan zu migrieren. Beachten Sie bei der Migration zwischen Plänen die folgenden Überlegungen:

  • Die direkte Migration zu einem dedizierten Plan (App Service-Plan) wird derzeit 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.
  • Status- und andere App-spezifische Inhalte werden beibehalten, da dieselbe Azure Files-Freigabe sowohl vor als auch nach der Migration von der App verwendet wird.

Migration im Portal

Navigieren Sie im Azure-Portal zu Ihrer Verbrauchs- oder Premium-Plan-App, und wählen Sie unter App Service Plan ändern die Option App Service-Plan aus. Wählen Sie den gewünschten Plantyp aus, erstellen Sie einen neuen App Service-Plan des neuen Typs, und wählen Sie OK aus. Weitere Informationen finden Sie unter Move an app to another App Service plan (Verschieben einer App in einen anderen App Service-Plan).

Vom Verbrauchsplan zum Premium-Plan

Gehen Sie wie folgt vor, um unter Windows von einem Verbrauchsplan zu einem Premium-Plan zu migrieren:

  1. Führen Sie den folgenden az functionapp plan create-Befehl aus, um einen neuen App Service-Plan (Elastic Premium) in derselben Region und Ressourcengruppe wie Ihre vorhandene Funktions-App zu erstellen:

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Führen Sie den folgenden az functionapp update-Befehl aus, um die vorhandene Funktions-App zum neuen Premium-Plan zu migrieren:

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Wenn Sie den vorherigen Verbrauchs-Funktions-App-Plan nicht mehr benötigen, löschen Sie den ursprünglichen Funktions-App-Plan, nachdem Sie die erfolgreiche Migration zum neuen bestätigt haben. Führen Sie den folgenden az functionapp plan list-Befehl aus, um eine Liste aller Verbrauchspläne in Ihrer Ressourcengruppe abzurufen:

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
    

    Sie können den Plan mit 0 (null) Sites sicher löschen, denn dies ist der Plan, von dem aus Sie migriert haben.

  4. Führen Sie den folgenden az functionapp plan delete-Befehl aus, um den Verbrauchsplan zu löschen, von dem aus Sie migriert sind.

    az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
    

Vom Premium-Plan zum Verbrauchsplan

Gehen Sie wie folgt vor, um unter Windows von einem Premium-Plan zu einem Verbrauchsplan zu migrieren:

  1. Führen Sie den folgenden az functionapp plan create-Befehl aus, um eine neue Funktions-App (Verbrauch) in derselben Region und Ressourcengruppe wie Ihre vorhandene Funktions-App zu erstellen. Mit diesem Befehl wird auch ein neuer Verbrauchsplan erstellt, in dem die Funktions-App ausgeführt wird.

    az functionapp create --resource-group <MY_RESOURCE_GROUP> --name <NEW_CONSUMPTION_APP_NAME> --consumption-plan-location <REGION> --runtime dotnet --functions-version 3 --storage-account <STORAGE_NAME>
    
  2. Führen Sie den folgenden az functionapp update-Befehl aus, um die vorhandene Funktions-App zum neuen Verbrauchsplan zu migrieren.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
    
  3. Führen Sie den folgenden az functionapp delete-Befehl aus, um die Funktions-App, die Sie im Schritt 1 erstellt haben, zu löschen, da Sie nur den Plan benötigen, der erstellt wurde, um die vorhandene Funktions-App auszuführen.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Wenn Sie den vorherigen Premium-Funktions-App-Plan nicht mehr benötigen, löschen Sie den ursprünglichen Funktions-App-Plan, nachdem Sie die erfolgreiche Migration zum neuen bestätigt haben. Bis der Premium-Plan gelöscht wird, wird er Ihnen weiterhin in Rechnung gestellt. Führen Sie den folgenden az functionapp plan list-Befehl aus, um eine Liste aller Premium-Pläne in Ihrer Ressourcengruppe abzurufen.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
    
  5. Führen Sie den folgenden az functionapp plan delete-Befehl aus, um den Premium-Plan zu löschen, von dem aus Sie migriert sind.

    az functionapp plan delete --name <PREMIUM_PLAN> --resource-group <MY_RESOURCE_GROUP>
    

Abrufen Ihrer Funktionszugriffsschlüssel

Durch HTTP ausgelöste Funktionen können im Allgemeinen mithilfe einer URL im folgenden Format aufgerufen werden: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Wenn die Autorisierung für Ihre Funktion auf einen anderen Wert als anonymous festgelegt ist, müssen Sie in Ihrer Anforderung auch einen Zugriffsschlüssel angeben. Der Zugriffsschlüssel kann entweder in der URL mithilfe der ?code=-Abfragezeichenfolge oder im Anforderungsheader angegeben werden. Weitere Informationen finden Sie unter Funktionszugriffsschlüssel. Es gibt mehrere Möglichkeiten, Ihre Zugriffsschlüssel abzurufen.

  1. Melden Sie sich beim Azure-Portal an, suchen Sie nach Funktions-App, und wählen Sie diese Option aus.

  2. Wählen Sie die Funktion aus, die Sie überprüfen möchten.

  3. Wählen Sie im linken Navigationsbereich unter Funktionen die Option App-Schlüssel aus.

    Dadurch werden die Hostschlüssel zurückgegeben, die für den Zugriff auf eine beliebige Funktion in der App verwendet werden können. Außerdem wird der Systemschlüssel zurückgegeben, der jedem Zugriff auf Administratorebene auf alle Funktions-App-APIs gewährt.

Sie können die minimalen Berechtigungen auch anwenden, indem Sie den Schlüssel nur für den bestimmten Funktionsschlüssel verwenden, indem Sie Funktionsschlüssel unter Entwickler in Ihrer durch HTTP ausgelösten Funktion auswählen.

Entwicklungseinschränkungen im Azure-Portal

Sie müssen diese Einschränkungen berücksichtigen, wenn Sie Ihre Funktionen im Azure-Portal entwickeln:

  • Die Bearbeitung im Portal wird nur für JavaScript-, PowerShell-, Python und C#-Skriptfunktionen unterstützt.
  • Die Bearbeitung von Python im Portal wird nur unterstützt, wenn sie im Verbrauchsplan ausgeführt wird.
  • Die Bearbeitung im Portal wird derzeit nur für Funktionen unterstützt, die im Portal erstellt oder zuletzt geändert wurden.
  • Wenn Sie den Code außerhalb des Portals in einer Funktions-App bereitstellen, können Sie die Codes für diese Funktions-App im Portal nicht mehr bearbeiten. In diesem Fall verwenden Sie einfach die lokale Entwicklung weiter.
  • Für kompilierte C#-Funktionen, Java-Funktionen und einige Python-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.

Wenn möglich sollten Sie Ihre Funktionen lokal entwickeln und Ihr Codeprojekt in einer Funktions-App in Azure veröffentlichen. 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 host.json-Datei entfernen.

Der gleiche Prozess funktioniert für jede andere Datei, die Sie Ihrer App hinzufügen müssen.

Wichtig

Wenn möglich, sollten Sie Dateien nicht direkt in Ihrer Funktions-App in Azure bearbeiten. 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 im Azure-Portal integrierten Funktions-Editor können Sie Ihren Funktionscode und Ihre Konfigurationsdateien direkt im Portal aktualisieren.

  1. Wählen Sie Ihre Funktions-App aus, und wählen Sie dann unter Funktionen die Option Funktionen aus.
  2. Wählen Sie Ihre Funktion aus, und wählen Sie Code+ Test unter Entwickler aus.
  3. Wählen Sie Ihre zu bearbeitende Datei aus, und wählen Sie Speichern, wenn Sie fertig sind.

Dateien im Stamm der App, z. B. function.proj oder extensions.csproj, müssen mithilfe der Advanced Tools (Kudu) erstellt und bearbeitet werden.

  1. Wählen Sie Ihre Funktions-App, und wählen Sie dann unter Entwicklungstools die Option Erweiterte Tools>Gehe zu aus.

  2. Wenn sie dazu aufgefordert werden, melden Sie sich mit Ihren Azure-Anmeldeinformationen bei der SCM-Website an.

  3. Wählen Sie im Menü Debugging-Konsole die Option CMD aus.

  4. Navigieren Sie zu .\site\wwwroot, wählen Sie oben die Plusschaltfläche (+) aus, und wählen Sie Neue Datei aus.

  5. Benennen Sie die Datei, z. B. extensions.csproj, und drücken Sie die Eingabetaste.

  6. Wählen Sie die Schaltfläche „Bearbeiten“ neben der neuen Datei aus, fügen Sie den Code in der Datei hinzu oder aktualisieren Sie ihn, und wählen Sie Speichern.

  7. 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 verwaltet. So haben die Funktionen-Apps Zugriff auf die meisten Features der Azure-Kernplattform für das Webhosting. Wenn Sie das Azure-Portal verwenden, greifen Sie im linken Bereich auf die vielen Features der App Service-Plattform zu, die Sie in Ihren Funktions-Apps verwenden können.

Die folgende Matrix gibt die Unterstützung von Portalfeatures nach Hostingplan und Betriebssystem an:

Funktion Verbrauchstarif Premium-Plan Dedizierter Plan
Erweiterte Tools (Kudu) Windows: ✔
Linux: X
App Service-Editor Windows: ✔
Linux: X
Windows: ✔
Linux: X
Windows: ✔
Linux: X
Sicherungen X X
Konsole Windows: Befehlszeile
Linux: 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

The 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. Sie können damit im Git-Repository arbeiten, Code ausführen und debuggen und 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 Portal schreibgeschützt. Weitere Informationen finden Sie unter Lokales Codieren und Testen von Azure Functions.

Konsole

Function app console

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)

Configure 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 Funktionen-App navigieren, z.B. zu 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.

Portal

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.

Configure function app's CORS list

Das Platzhalterzeichen (*) wird ignoriert, wenn ein anderer Domäneneintrag vorhanden ist.

Verwenden Sie den Befehl az functionapp cors add,um der Liste mit den zulässigen Ursprüngen eine Domäne hinzuzufügen. Im folgenden Beispiel wird die Domäne „contoso.com“ hinzugefügt:

az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com

Verwenden Sie den Befehl az functionapp cors show, um die derzeit zulässigen Ursprünge aufzulisten.

Authentifizierung

Configure authentication for a function app

Wenn Funktionen einen HTTP-Trigger verwenden, können Sie festlegen, dass Aufrufe zunächst authentifiziert werden müssen. App Service unterstützt die Microsoft Entra-Authentifizierung sowie die Anmeldung über Anbieter von sozialen Netzwerken wie Facebook, Microsoft und Twitter. Weitere Informationen zum Konfigurieren von bestimmten Authentifizierungsanbietern finden Sie unter Authentifizierung und Autorisierung in Azure App Service.

Nächste Schritte