Aktualisieren von Sprachstapelversionen in Azure Functions

Die Unterstützung für einen bestimmten Sprachstapel in Azure Functions ist auf bestimmte Versionen beschränkt. Wenn neue Versionen verfügbar sind, aktualisieren Sie Ihre Apps ggf., um ihre Features nutzen zu können. Möglicherweise endet auch die Unterstützung für ältere Versionen in Functions. Das Ende ist in der Regel auf die Termine für das Ende des Supports der Community ausgerichtet. Ausführliche Informationen finden Sie unter Unterstützungsrichtlinie für die Sprachlaufzeit. Um sicherzustellen, dass Ihre Apps weiterhin Support erhalten, sollten Sie die in diesem Artikel beschriebenen Anweisungen befolgen, um sie auf die neuesten verfügbaren Versionen zu aktualisieren.

Die Art und Weise, wie Sie Ihre Funktions-App aktualisieren, hängt von folgenden Faktoren ab:

  • Von der Sprache, die Sie zum Erstellen Ihrer Funktionen verwenden. Wählen Sie oben im Artikel Ihre Programmiersprache aus.
  • Vom Betriebssystem, unter dem Ihre App in Azure ausgeführt wird: Windows oder Linux
  • Vom Hostingplan

Hinweis

In diesem Artikel erfahren Sie, wie Sie die .NET-Version einer App mithilfe des isolierten Workermodells aktualisieren. Apps, die in älteren Versionen von .NET mit dem In-Process-Modell ausgeführt werden, können auf .NET 8 aktualisiert werden, oder sie können vom In-Process-Modell zum isolierten Workermodell migrieren.

Vorbereiten der Aktualisierung

Bevor Sie die Stapelkonfiguration für Ihre Funktions-App in Azure aktualisieren, müssen Sie die folgenden Aufgaben ausführen:

1. Lokales Überprüfen Ihrer Funktionen

Testen und überprüfen Sie den Funktionscode unbedingt lokal in der neuen Zielversion.

Führen Sie die folgenden Schritte aus, um das Projekt auf Ihrem lokalen Computer zu aktualisieren:

  1. Stellen Sie sicher, dass Sie die Zielversion des .NET SDK installiert haben.

    Wenn Sie eine Vorschauversion verwenden möchten, vergewissern Sie sich im Functions-Leitfaden für .NET-Vorschauversionen, dass die Version unterstützt wird. Für .NET-Vorschauversionen sind möglicherweise zusätzliche Schritte erforderlich.

  2. Aktualisieren Sie Ihre Verweise auf die neueste Version von Microsoft.Azure.Functions.Worker und Microsoft.Azure.Functions.Worker.Sdk.

  3. Aktualisieren Sie das Zielframework Ihres Projekts auf die neue Version. Bei C#-Projekten müssen Sie das <TargetFramework>-Element in der Datei .csproj aktualisieren. Einzelheiten zur ausgewählten Version finden Sie unter Zielframeworks.

    Die Änderung des Ziel-Frameworks Ihres Projekts kann auch Änderungen an Teilen Ihrer Toolchain außerhalb des Projektcodes erfordern. In VS Code müssen Sie zum Beispiel die Erweiterungseinstellungen azureFunctions.deploySubpath über die Benutzereinstellungen oder die Projektdatei .vscode/settings.json aktualisieren. Prüfen Sie, ob Abhängigkeiten von der Framework-Version bestehen, die außerhalb Ihres Projektcodes, als Teil von Build-Schritten oder einer CI/CD-Pipeline, existieren könnten.

  4. Nehmen Sie alle Aktualisierungen an Ihrem Projektcode vor, die für die neue .NET-Version erforderlich sind. Einzelheiten finden Sie in den Versionshinweisen der Version. Sie können auch den .NET-Upgrade-Assistenten verwenden, um Ihren Code als Reaktion auf Änderungen in Hauptversionen zu aktualisieren.

Nachdem Sie diese Änderungen vorgenommen haben, erstellen Sie Ihr Projekt neu, und testen Sie es, um zu überprüfen, ob Ihre App wie erwartet ausgeführt wird.

2. Wechseln zur neuesten Functions-Runtime

Vergewissern Sie sich, dass Ihre Funktions-App mit der neuesten Version der Functions-Runtime (Version 4.x) ausgeführt wird. Sie können die Runtimeversion im Azure-Portal oder mithilfe der Azure CLI ermitteln.

Gehen Sie folgendermaßen vor, um die Laufzeitversion Ihrer Funktionen zu ermitteln:

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie auf der linken Seite unter Einstellungen Konfiguration aus.

  2. Wählen Sie die Registerkarte Funktionslaufzeiteinstellungen aus, und überprüfen Sie den Wert der Laufzeitversion, um festzustellen, ob Ihre Funktions-App in Version 4.x der Functions Runtime (~4) ausgeführt wird.

    Screenshot: Anzeigen der Functions-Laufzeitversion für Ihre App im Azure-Portal

Wenn Sie Ihre Funktions-App zunächst auf Version 4.x aktualisieren müssen, lesen Sie die Informationen unter Migrieren von Apps von Azure Functions Version 1.x zu Version 4.x oder Migrieren von Apps von Azure Functions Version 3.x zu Version 4.x. Sie sollten die Anweisungen in diesen Artikeln befolgen, anstatt nur die Einstellung FUNCTIONS_EXTENSION_VERSION zu ändern.

Veröffentlichen von App-Updates

Wenn Sie Ihre App so aktualisiert haben, dass sie ordnungsgemäß in der neuen Version ausgeführt wird, veröffentlichen Sie die App-Updates, bevor Sie die Stapelkonfiguration für Ihre Funktions-App aktualisieren.

Tipp

Um den Updateprozess zu vereinfachen, Downtime für Ihre Funktionen zu minimieren und eine Rollbackmöglichkeit zu bieten, sollten Sie die aktualisierte App in einem Stagingslot veröffentlichen. Weitere Informationen finden Sie unter Azure Functions-Bereitstellungsslots.

Wenn Sie Ihre aktualisierte App in einem Stagingslot veröffentlichen, müssen Sie die slotspezifischen Updateanweisungen im restlichen Artikel befolgen. Später überführen Sie den aktualisierten Stagingslot in die Produktion:

Aktualisieren der Stapelkonfiguration

Die Art und Weise, wie Sie die Stapelkonfiguration aktualisieren, hängt davon ab, ob die Ausführung in Azure unter Windows oder unter Linux erfolgt.

Stellen Sie bei Verwendung eines Stagingslotssicher, dass Sie die Updates auf den richtigen Slot ausrichten.

Führen Sie die folgenden Schritte aus, um die Java-Version zu aktualisieren:

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie auf der linken Seite Konfiguration aus. Wählen Sie bei Verwendung eines Stagingslots unbedingt zuerst den gewünschten Slot aus.

  2. Aktualisieren Sie auf der Registerkarte Allgemeine Einstellungen die Java-Version auf die gewünschte Version.

    Screenshot: Festlegen der gewünschten Java-Version für eine Funktions-App im Azure-Portal

  3. Wählen Sie Speichern und dann Weiter aus, wenn Sie eine Meldung über einen Neustart erhalten.

Führen Sie die folgenden Schritte aus, um die .NET-Version zu aktualisieren:

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie auf der linken Seite Konfiguration aus. Wählen Sie bei Verwendung eines Stagingslots unbedingt zuerst den gewünschten Slot aus.

  2. Aktualisieren Sie auf der Registerkarte Allgemeine Einstellungen die .NET-Version auf die gewünschte Version.

    Screenshot: Festlegen der gewünschten .NET-Version für eine Funktions-App im Azure-Portal

  3. Wählen Sie Speichern und dann Weiter aus, wenn Sie eine Meldung über einen Neustart erhalten.

Führen Sie die folgenden Schritte aus, um die Node.js-Version zu aktualisieren:

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie auf der linken Seite Konfiguration aus. Wählen Sie bei Verwendung eines Stagingslots unbedingt zuerst den gewünschten Slot aus.

  2. Aktualisieren Sie auf der Registerkarte Allgemeine Einstellungen die Node.js-Version auf die gewünschte Version.

    Screenshot: Festlegen der gewünschten Node.js-Version für eine Funktions-App im Azure-Portal

  3. Wählen Sie Speichern und dann Weiter aus, wenn Sie eine Meldung über einen Neustart erhalten. Durch diese Änderung wird die Anwendungseinstellung WEBSITE_NODE_DEFAULT_VERSION aktualisiert.

Führen Sie die folgenden Schritte aus, um die PowerShell-Version zu aktualisieren:

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie auf der linken Seite Konfiguration aus. Wählen Sie bei Verwendung eines Stagingslots unbedingt zuerst den gewünschten Slot aus.

  2. Aktualisieren Sie auf der Registerkarte Allgemeine Einstellungen die .NET-Version auf die gewünschte Version.

    Screenshot: Festlegen der gewünschten PowerShell-Version für eine Funktions-App im Azure-Portal

  3. Wählen Sie Speichern und dann Weiter aus, wenn Sie eine Meldung über einen Neustart erhalten.

Python-Apps werden unter Windows nicht unterstützt. Wählen Sie stattdessen die Registerkarte Linux aus.

Ihre Funktions-App wird neu gestartet, nachdem Sie die Version aktualisiert haben.

Austauschen von Slots

Wenn Sie die Codeprojektbereitstellung ausgeführt und Einstellungen in einem Stagingslot aktualisiert haben, müssen Sie den Stagingslot schließlich in die Produktion überführen. Weitere Informationen finden Sie in unter Austauschen von Slots.

Nächste Schritte