Einstellen von Runtimeversionen von Azure Functions als Ziel

Eine Funktionen-App wird für eine bestimmte Version der Azure Functions-Runtime ausgeführt. Standardmäßig werden Funktions-Apps in der aktuellen Version 4.x der Functions-Runtime erstellt. Ihre Funktions-Apps werden nur unterstützt, wenn sie in einer unterstützten Hauptversion ausgeführt werden. In diesem Artikel wird erläutert, wie Sie eine Funktions-App in Azure so konfigurieren, dass sie bei Bedarf auf eine bestimmte Version ausgerichtet ist bzw. an diese angeheftet wird.

Das Durchführen der Konfiguration für eine bestimmte Version hängt davon ab, ob Windows oder Linux ausgeführt wird. Diese Version des Artikels unterstützt Windows. Wählen Sie am Anfang des Artikels Ihr Betriebssystem aus.

Das Durchführen der Konfiguration für eine bestimmte Version hängt davon ab, ob Windows oder Linux ausgeführt wird. Diese Version des Artikels unterstützt Linux. Wählen Sie am Anfang des Artikels Ihr Betriebssystem aus.

Wichtig

Wenn möglich, sollten Sie Ihre Funktionen immer mit der neuesten unterstützten Version der Azure Functions-Runtime ausführen. Sie sollten Ihre App nur an eine bestimmte Version anheften, wenn Sie aufgrund eines Problems in der neuesten Version dazu aufgefordert werden. Sie sollten immer zur neuesten Runtimeversion wechseln, sobald Ihre Funktionen ordnungsgemäß ausgeführt werden können.

Während der lokalen Entwicklung muss Ihre installierte Version von Azure Functions Core Tools mit der Hauptversion der Runtime übereinstimmen, die von der Funktions-App in Azure verwendet wird. Weitere Informationen finden Sie in der Core Tools-Versionen.

Aktualisieren der Runtimeversion

Wenn möglich, sollten Sie Ihre Funktions-Apps immer mit der neuesten unterstützten Version der Azure Functions-Runtime ausführen. Wenn Ihre Funktions-App derzeit in einer älteren Version der Runtime ausgeführt wird, sollten Sie Ihre App zu Version 4.x migrieren.

Wenn Ihre App über vorhandene Funktionen verfügt, müssen Sie Vorkehrungen treffen, bevor Sie zu einer höheren Runtime-Hauptversion wechseln. In den folgenden Artikeln werden Breaking Changes zwischen Hauptversionen ausführlich beschrieben, einschließlich sprachspezifischer Breaking Changes. Darüber hinaus erhalten Sie schrittweise Anleitungen für eine erfolgreiche Migration Ihrer vorhandenen Funktions-App.

Informationen zum Ermitteln der aktuellen Runtimeversion finden Sie unter Anzeigen der aktuellen Runtimeversion.

Anzeigen der aktuellen Runtimeversion

Sie können die aktuelle Runtimeversion Ihrer Funktions-App auf eine der folgenden Arten anzeigen:

Gehen Sie folgendermaßen vor, um die zurzeit von einer Funktions-App verwendete Runtimeversion anzuzeigen und zu aktualisieren.

  1. Navigieren Sie im Azure-Portal zu Ihrer Funktions-App.

  2. Wählen Sie unter Einstellungen die Option Konfiguration aus. Suchen Sie auf der Registerkarte Runtimeeinstellungen der Funktion nach der Runtimeversion. Notieren Sie sich die jeweilige Runtimeversion. Im nachstehenden Beispiel ist die Version auf ~4 festgelegt.

    Screenshot showing how to view the runtime version.

Anheften an eine bestimmte Version

Mit Azure Functions können Sie die Anwendungseinstellung FUNCTIONS_EXTENSION_VERSION für die Ausrichtung auf die Runtimeversion verwenden, die von einer bestimmten Funktions-App verwendet wird. Wenn Sie nur die Hauptversion (~4) angeben, wird die Funktions-App automatisch auf neue Nebenversionen der Runtime aktualisiert, sobald diese verfügbar werden. Nebenversionsupdates werden automatisch durchgeführt, da neue Nebenversionen keine Breaking Changes verursachen sollten.

Linux-Apps verwenden die linuxFxVersion-Siteeinstellung zusammen mit FUNCTIONS_EXTENSION_VERSION, um das richtige Linux-Basisimage zu bestimmen, in dem Ihre Funktionen ausgeführt werden sollen. Wenn Sie eine neue Funtion-App unter Linux erstellen, wählt die Runtime automatisch das richtige Basisimage für Sie basierend auf der Runtimeversion Ihres Sprachstapels aus.

Das Anheften an eine bestimmte Runtimeversion bewirkt, dass Ihre Funktions-App neu gestartet wird.

Wenn Sie eine bestimmte Nebenversion (z. B. 4.0.12345) in FUNCTIONS_EXTENSION_VERSION angeben, wird die Funktions-App an diese bestimmte Version der Runtime angeheftet, bis Sie explizit zu automatischen Updates zurückkehren möchten. Die App sollte nur so lange an eine bestimmte Nebenversion angeheftet werden, bis Sie alle Probleme mit Ihrer Funktions-App behoben haben, die das Festlegen der Hauptversion als Ziel verhindern. Ältere Nebenversionen werden regelmäßig aus der Produktionsumgebung entfernt. Wenn Sie Elemente an eine Nebenversion angeheftet haben, die entfernt wird, wird Ihre Funktions-App stattdessen in der nächstgelegenen vorhandenen Version anstelle der in FUNCTIONS_EXTENSION_VERSION festgelegten Version ausgeführt. Das Entfernen von Nebenversionen wird in den App Service-Ankündigungen erläutert.

Hinweis

Wenn Sie die Veröffentlichung über Visual Studio in einer App ausprobieren, die an eine bestimmte Nebenversion der Runtime angeheftet ist, werden Sie in einem Dialogfeld aufgefordert, auf die neueste Version zu aktualisieren oder die Veröffentlichung abzubrechen. Um diese Überprüfung zu vermeiden, wenn Sie eine bestimmte Nebenversion verwenden müssen, fügen Sie die Eigenschaft <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> in der Datei .csproj hinzu.

Verwenden Sie eine dieser Methoden, um Ihre App vorübergehend an eine bestimmte Version der Runtime anzuheften:

Gehen Sie folgendermaßen vor, um die zurzeit von einer Funktions-App verwendete Runtimeversion anzuzeigen und zu aktualisieren.

  1. Navigieren Sie im Azure-Portal zu Ihrer Funktions-App.

  2. Wählen Sie unter Einstellungen die Option Konfiguration aus. Suchen Sie auf der Registerkarte Runtimeeinstellungen der Funktion nach der Runtimeversion. Notieren Sie sich die jeweilige Runtimeversion. Im nachstehenden Beispiel ist die Version auf ~4 festgelegt.

    Screenshot showing how to view the runtime version.

  1. Um Ihre App an eine bestimmte Nebenversion anzuheften, wählen Sie Anwendungseinstellungen>FUNCTIONS_EXTENSION_VERSION aus, ändern Sie Wert in die erforderliche Nebenversion, und wählen Sie OK aus.

  2. Wählen Sie Speichern>Weiter aus, um die Änderungen anzuwenden und die App neu zu starten.

Die Funktions-App startet neu, nachdem die Änderung an der Anwendungseinstellung vorgenommen wurde.

Um Ihre Funktions-App an eine bestimmte Runtimeversion unter Linux anzuheften, legen Sie in der linuxFxVersion-Siteeinstellung eine versionsspezifische Basisimage-URL im Format DOCKER|<PINNED_VERSION_IMAGE_URI> fest.

Wichtig

Angeheftete Funktions-Apps unter Linux erhalten keine regelmäßigen Updates für Sicherheits- und Hostfunktionalität. Sofern Sie keine anderweitigen Empfehlungen durch den Support erhalten haben, verwenden Sie die Einstellung FUNCTIONS_EXTENSION_VERSION und einen standardmäßigen linuxFxVersion-Wert für Sprache und Version, z. B. Python|3.9. Gültige Werte finden Sie im Referenzartikel zu linuxFxVersion.

Das Anheften an eine bestimmte Runtime für Linux-Funktions-Apps, die in einem Verbrauchsplan ausgeführt werden, derzeit nicht unterstützt.

Nachfolgend wird ein Beispiel für den linuxFxVersion-Wert angezeigt, der erforderlich ist, um eine Node.js 16-Funktions-App an eine bestimmte Runtimeversion von 4.14.0.3 anzuheften:

DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16

Bei Bedarf kann eine Supportfachkraft Ihnen einen gültigen Basisimage-URI für Ihre Anwendung nennen.

Verwenden Sie die folgenden Azure CLI-Befehle, um die linuxFxVersion anzuzeigen und festzulegen. Sie können die linuxFxVersion derzeit nicht im Portal oder mithilfe von Azure PowerShell festlegen.

  • Um die aktuelle Version der Runtime anzuzeigen, verwenden Sie den Befehl az functionapp config show.

    az functionapp config show --name <function_app> \
    --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsv
    

    Ersetzen Sie in diesem Code <function_app> durch den Namen der Funktions-App. Ersetzen Sie außerdem <my_resource_group> durch den Namen der Ressourcengruppe für Ihre Funktions-App. Der aktuelle Wert von linuxFxVersion wird zurückgegeben.

  • Um die Einstellung linuxFxVersion in der Funktions-App zu aktualisieren, verwenden Sie den Befehl az functionapp config set.

    az functionapp config set --name <FUNCTION_APP> \
    --resource-group <RESOURCE_GROUP> \
    --linux-fx-version <LINUX_FX_VERSION>
    

    Ersetzen Sie <FUNCTION_APP> durch den Namen der Funktions-App. Ersetzen Sie außerdem <RESOURCE_GROUP> durch den Namen der Ressourcengruppe für Ihre Funktions-App. Ersetzen Sie zum Schluss <LINUX_FX_VERSION> durch den Wert des Images, das Ihnen von einer Supportfachkraft genannt wurde.

Sie können diese Befehle über Azure Cloud Shell ausführen, indem Sie in den vorangehenden Codebeispielen Cloud Shell öffnen auswählen. Sie können auch die Azure-Befehlszeilenschnittstelle lokal zum Ausführen dieses Befehls verwenden, nachdem Sie sich mit az login angemeldet haben.

Die Funktions-App wird neu gestartet, nachdem die Änderung der Sitekonfiguration vorgenommen wurde.

Nächste Schritte