Einstellen von Runtimeversionen von Azure Functions als Ziel

Eine Funktionen-App wird für eine bestimmte Version der Azure Functions-Runtime ausgeführt. Es gibt drei Hauptversionen: 3.x, 2.x und 1.x. Standardmäßig werden Funktions-Apps in Version 3.x der Runtime erstellt. In diesem Artikel wird erläutert, wie Sie eine Funktionen-App in Azure so konfigurieren, dass sie mit der von Ihnen ausgewählten Version ausgeführt wird. Informationen zum Konfigurieren einer lokalen Entwicklungsumgebung für eine bestimmte Version finden Sie unter Codieren und lokales Testen von Azure Functions.

Das Durchführen der Konfiguration für eine bestimmte Version hängt davon ab, ob Windows oder Linux ausgeführt wird.

Automatische und manuelle Versionsupdates

Dieser Abschnitt trifft nicht zu, wenn Sie Ihre Funktions-App unter Linux ausführen.

Mit Azure Functions können Sie unter Windows eine bestimmte Version der Runtime als Ziel festlegen, indem Sie die Anwendungseinstellung FUNCTIONS_EXTENSION_VERSION in einer Funktions-App verwenden. Die Funktionen-App verwendet weiterhin die angegebene Version der Runtime, bis Sie ausdrücklich die Verwendung einer neuen Version auswählen. Wenn Sie nur die Hauptversion angeben, wird die Funktions-App automatisch auf neue Nebenversionen der Runtime aktualisiert, sobald diese verfügbar werden. Neue Nebenversionen sollten keine Breaking Changes enthalten.

Wenn Sie eine Nebenversion (z.B. „2.0.12345“) angeben, wird die Funktions-App an diese spezifische Version angeheftet, bis Sie sie explizit ändern. Ältere Nebenversionen werden regelmäßig aus der Produktionsumgebung entfernt. Wenn Ihre Nebenversion entfernt wird, wird Ihre Funktions-App wieder mit der neuesten Version anstelle der in FUNCTIONS_EXTENSION_VERSION festgelegten Version ausgeführt. Aus diesem Grund sollten Sie Probleme im Zusammenhang mit Ihrer Funktions-App, die eine bestimmte Nebenversion erfordern, schnell beheben. Anschließend können Sie zur Hauptversion als Ziel zurückkehren. Das Entfernen von Nebenversionen wird in den App Service-Ankündigungen erläutert.

Hinweis

Wenn Sie an eine bestimmte Hauptversion von Azure Functions anheften und dann versuchen, mit Visual Studio in Azure zu veröffentlichen, wird ein Dialogfenster angezeigt, in dem Sie aufgefordert werden, auf die neueste Version zu aktualisieren oder die Veröffentlichung abzubrechen. Um dies zu vermeiden, fügen Sie die <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate>-Eigenschaft Ihrer .csproj-Datei hinzu.

Wenn eine neue Version öffentlich verfügbar ist, bietet eine Eingabeaufforderung im Portal Ihnen die Möglichkeit, auf diese Version umzusteigen. Nach dem Wechsel zu einer neuen Version können Sie jederzeit mit der Anwendungseinstellung FUNCTIONS_EXTENSION_VERSION zu einer früheren Version zurückkehren.

Die folgende Tabelle enthält die Werte vom Typ FUNCTIONS_EXTENSION_VERSION für die jeweilige Hauptversion, um automatische Updates zu aktivieren:

Hauptversion Wert vom Typ FUNCTIONS_EXTENSION_VERSION
3.x ~3
2.x ~2
1.x ~1

Eine Änderung an der Runtimeversion bewirkt, dass eine Funktionen-App neu gestartet wird.

Hinweis

.NET-Funktions-Apps, die an ~2.0 angeheftet wurden, wählen das automatische Upgrade auf .NET Core 3.1 ab. Weitere Informationen finden Sie unter Überlegungen zu Functions v2.x.

Anzeigen und Aktualisieren der aktuellen Runtimeversion

Dieser Abschnitt trifft nicht zu, wenn Sie Ihre Funktions-App unter Linux ausführen.

Sie können die von der Funktions-App verwendete Runtimeversion ändern. Da möglicherweise Breaking Changes vorliegen, können Sie die Runtimeversion nur ändern, bevor Sie Funktionen in Ihrer Funktions-App erstellt haben.

Wichtig

Obwohl die Runtime-Version durch die Einstellung FUNCTIONS_EXTENSION_VERSION bestimmt wird, sollten Sie diese Änderung nur im Azure-Portal vornehmen und nicht durch direkte Änderung der Einstellung. Grund dafür ist, dass das Portal Ihre Änderungen überprüft und bei Bedarf weitere zugehörige Änderungen vornimmt.

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 ~3 festgelegt.

    Anzeigen der Runtimeversion.

  3. Um Ihre Funktions-App an die Runtime der Version 1.x anzuheften, wählen Sie ~1 unter Laufzeitversion aus. Dieser Schalter ist deaktiviert, wenn Ihre App Funktionen enthält.

  4. Wenn Sie die Runtimeversion geändert haben, wechseln Sie zurück zur Registerkarte Übersicht, und wählen Sie Neu starten aus, um die App neu zu starten. Die Funktions-App wird neu gestartet und mit der Runtime der Version 1.x ausgeführt. Außerdem werden die Vorlagen für Version 1.x verwendet, wenn Sie Funktionen erstellen.

    Neustarten der Funktions-App.

Hinweis

Mit dem Azure-Portal können Sie die Runtimeversion für eine Funktions-App, die bereits Funktionen enthält, nicht ändern.

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

Manuelle Versionsupdates unter Linux

Wenn Sie eine Linux-Funktions-App an eine bestimmte Hostversion anheften möchten, geben Sie in der Standortkonfiguration im Feld „LinuxFxVersion“ die Image-URL an. Beispiel: Sie möchten eine Node 10-Funktions-App an die Hostversion 3.0.13142 anheften.

Für Linux-App-Dienst/Apps mit elastischem Premium-Tarif: Legen Sie LinuxFxVersion auf DOCKER|mcr.microsoft.com/azure-functions/node:3.0.13142-node10-appservice fest.

Für Linux-Apps mit Verbrauchstarif: Legen Sie LinuxFxVersion auf DOCKER|mcr.microsoft.com/azure-functions/mesh:3.0.13142-node10 fest.

Das Anzeigen und Ändern von Sitekonfigurationseinstellungen für Funktions-Apps wird im Azure-Portal nicht unterstützt. Verwenden Sie stattdessen die Azure CLI.

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

Hinweis

Für Apps, die in einem Verbrauchsplan ausgeführt werden, kann das Festlegen LinuxFxVersion von auf ein bestimmtes Image zu einer höheren Anzahl von Kaltstarts führen. Dies liegt daran, dass das Anheften an ein bestimmtes Image verhindert, dass Functions einige Kaltstartoptimierungen verwendet.

Nächste Schritte