Veröffentlichen einer Funktion in Azure mithilfe der Core Tools

Abgeschlossen

Sie können die Core Tools verwenden, um Ihre Funktionen in Azure zu veröffentlichen.

Nachdem Sie nun Ihre Funktion für eine einfache Zinsberechnung erstellt und getestet haben, möchten Sie sie in Azure veröffentlichen. Es wäre toll, wenn sie im Web verfügbar wäre. Wenn dies der Fall ist, können Sie die URL an Ihre Kollegen und Kolleginnen senden, damit diese sie von überall aus aufrufen können.

Erstellen einer Funktions-App

Bevor Sie Core Tools zum Veröffentlichen eines Projekts verwenden können, müssen Sie die erforderlichen Ressourcen in Azure erstellen, einschließlich der Funktions-App, die zum Hosten des Projekts verwendet wird. Für Functions ist ein Speicherkonto erforderlich. Sie können diese Azure-Ressourcen nicht mithilfe von Core Tools erstellen. Erstellen Sie Funktions-Apps stattdessen über die Azure-Verwaltungstools (dazu gehöre das Azure-Portal, die Azure CLI und Azure PowerShell). In der nächsten Übung führen Sie den Befehl az functionapp create der Azure CLI aus, um eine Funktions-App zu erstellen, in der Sie Ihren Code veröffentlichen können.

Im Rahmen dieses Tutorials ist die wichtigste Option, die Sie beim Erstellen einer Funktions-App beachten müssen, die Sprachruntime. Eine Funktions-App unterstützt nur eine einzelne Sprachruntime. Wenn Sie bereits über ein lokales Funktionsprojekt verfügen, das Sie veröffentlichen möchten, stellen Sie sicher, dass Sie die Funktions-App mit der gleichen Sprachlaufzeit erstellen. Wenn Sie versuchen, ein Projekt in einer App mit einer anderen Runtime bereitzustellen, wird die Veröffentlichung mit einem Fehler angehalten.

Veröffentlichen in Azure

Um Ihr Funktionsprojekt in einer Funktions-App in Azure zu veröffentlichen, führen Sie func azure functionapp publish <app_name> aus dem Funktionsprojektordner aus. <app_name> ist der Name der Zielfunktions-App in Azure und nicht der Name Ihres Projektordners, der anders lauten kann.

Publishing a function app with func azure functionapp publish.

Core Tools fordert Sie nicht auf, sich bei Azure anzumelden. Stattdessen greift es auf Ihre Abonnements und Ressourcen zu, indem es Ihre Sitzungsinformationen aus der Azure CLI oder Azure PowerShell lädt. Wenn in keinem dieser Tools eine aktive Sitzung vorhanden ist, tritt bei der Veröffentlichung ein Fehler auf. Es ist möglich, über das Core Tools-Toolset zu veröffentlichen, ohne die Azure CLI oder Azure PowerShell zu verwenden. Es ist jedoch einfacher, wenn Sie sie haben. Sie sollten eine davon installieren. Melden Sie sich unbedingt an, bevor Sie versuchen, zu veröffentlichen.

Nachdem die Ausgabe angibt, dass die Veröffentlichung abgeschlossen ist, werden Ihre Funktionen in Azure ausgeführt. Die endgültige Ausgabe der Veröffentlichung zeigt die Funktionen, die veröffentlicht wurden, einschließlich der Aufruf-URL jeder HTTP-ausgelösten Funktion.

Wichtige Hinweise

Im folgenden finden Sie einige Punkte, die Sie berücksichtigen sollten, wenn Sie Core Tools zum Veröffentlichen Ihrer Funktionen verwenden:

  • Core Tools überprüft oder testet Ihren Funktionscode während der Veröffentlichung nicht.
  • Stellen Sie sicher, dass Sie func start verwenden, um Tests durchzuführen, bevor Sie die Veröffentlichung ausführen!
  • Bei einer Veröffentlichung werden alle Funktionen, die bereits in der Ziel-App vorhanden sind, beendet und gelöscht, bevor die Inhalte Ihres Projekts bereitgestellt werden.
  • Sie können Funktionen aus mehreren Projekten nicht in einer App kombinieren, indem Sie sie in dieser Reihenfolge veröffentlichen.
  • Alle Funktionen, die in der App verfügbar sein sollen, müssen sich in einem Projekt befinden.
  • Beim Veröffentlichen in Azure wird keine Beziehung zwischen dem lokalen Projekt und der Zielfunktions-App erstellt.
  • Sie können ein einzelnes Funktionsprojekt in mehreren Funktions-Apps veröffentlichen.
  • Wenn Sie an Ihrem Code arbeiten, können Sie ein Projekt auch wiederholt in derselben App erneut veröffentlichen.
  • Die Aufruf-URLs, die nach der Veröffentlichung angezeigt werden, enthalten möglicherweise einen Parameter code in der Abfragezeichenfolge.
  • Sie können dies im Screenshot sehen: ?code=4FowT1ywMNoxqa...
  • HTTP-Triggerfunktionen verfügen über eine Autorisierungsebene der Funktion, die erfordert, dass Sie einen geheimen Funktionsschlüssel in den Anforderungsheadern oder Abfragezeichenfolgen übergeben.
  • Core Tools gibt den Schlüssel bequemerweise in der Abfragezeichenfolge der angezeigten URL zurück.