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 dies aufgrund eines Problems mit der neuesten Version erforderlich ist. 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:

Führen Sie die folgenden Schritte aus, um die derzeit von einer Funktions-App verwendete Runtimeversion anzuzeigen und zu aktualisieren:

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

  2. Erweitern Sie Einstellungen, und wählen Sie dann Konfiguration aus.

  3. Notieren Sie sich auf der Registerkarte Einstellungen der Funktionsruntime die Runtimeversion. In diesem Beispiel ist die Version auf ~4 festgelegt.

    Screenshot der Anzeige der Runtimeversion

Anheften an eine bestimmte Version

Mit Azure Functions können Sie die FUNCTIONS_EXTENSION_VERSION-App-Einstellung verwenden, um eine bestimmte Runtimeversion als Ziel für eine bestimmte Funktions-App festzulegen. 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 ausgeführt, da neue Nebenversionen wahrscheinlich keine Änderungen einführen, die Ihre Funktionen unterbrechen.

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 Funktions-App unter Linux erstellen, wählt die Runtime automatisch das richtige Basisimage basierend auf der Runtimeversion Ihres Sprachstapels aus.

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

Wenn Sie in FUNCTIONS_EXTENSION_VERSION eine bestimmte Nebenversion (z. B. 4.0.12345) angeben, wird die Funktions-App an diese bestimmte Version der Runtime angeheftet, bis Sie explizit zu automatischen Updates zurückkehren. 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 Ihre Funktions-App an eine Nebenversion angeheftet ist, die später entfernt wird, wird Ihre Funktions-App 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:

Führen Sie die folgenden Schritte aus, um die derzeit von einer Funktions-App verwendete Runtimeversion anzuzeigen und zu aktualisieren:

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

  2. Erweitern Sie Einstellungen, und wählen Sie dann Konfiguration aus.

  3. Notieren Sie sich auf der Registerkarte Einstellungen der Funktionsruntime die Runtimeversion. In diesem Beispiel ist die Version auf ~4 festgelegt.

    Screenshot der Anzeige der Runtimeversion

  1. Wenn Sie Ihre App an eine bestimmte Nebenversion anheften möchten, erweitern Sie im linken Bereich Einstellungen, und wählen Sie dann Umgebungsvariablen aus.

  2. Wählen Sie auf der Registerkarte App-Einstellungen die Option FUNCTIONS_EXTENSION_VERSION aus, ändern Sie den Wert in Ihre gewünschte Nebenversion, und wählen Sie dann Übernehmen aus.

  3. Wählen Sie Übernehmen und dann Bestätigen 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 die spezifische Runtimeversion 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 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