Lokales Ausführen und Testen einer Azure-Funktion

Abgeschlossen

In der vorherigen Übung haben Sie ein Azure-Funktionsprojekt mit einem Azure Maven-Archetyp erstellt. Die nächste Aufgabe besteht darin, die Funktion zu erstellen und lokal auszuführen, um zu überprüfen, ob sie funktioniert.

In dieser Lerneinheit erfahren Sie mehr über die Azure Functions Core Tools, mit denen Sie Ihre Funktionen lokal ausführen und testen können. Außerdem erfahren Sie, wie Sie einen HTTP-Port für Tests öffnen, Ihre Funktion in der Cloud Shell ausführen und in einem Webbrowser testen.

Informationen über Azure Functions Core Tools

Azure Functions Core Tools sind eine Toolsuite mit Hilfsprogrammen zum lokalen Entwickeln und Testen von Azure-Funktionen mithilfe eines Terminalemulators oder einer Eingabeaufforderung. Obwohl die Azure-Funktionen, die Sie erstellen, lokal ausgeführt werden, können sie während Ihrer Tests auf Azure-Livedienste zugreifen. Nachdem Sie die Tests abgeschlossen haben und die Funktion für die Veröffentlichung bereit ist, können Sie die Funktions-App in Ihrem Azure-Abonnement bereitstellen.

Derzeit gibt es drei Versionen der Azure Functions Core Tools. Im Allgemeinen gilt jedoch, dass Sie immer die neueste Version verwenden sollten, wenn Sie Funktionen für die Bereitstellung in Azure entwickeln, sofern keine ältere Version gefordert wird. Für dieses Modul verwenden Sie die Azure Cloud Shell in der Learn-Sandbox, in der die neueste Version von Azure Functions Core Tools verwendet wird.

Hinweis

Wenn Sie anstelle von Cloud Shell in der Learn-Sandbox Ihr persönliches Azure-Konto verwendet haben, finden Sie Beschreibungen, Voraussetzungen und Anweisungen für die Installation der verschiedenen Versionen der Azure Functions Core Tools unter Arbeiten mit den Azure Functions Core Tools.

Konfigurieren der Cloud Shell-Umgebung für Tests

Zum Testen einer webbasierten Anwendung, die in der Cloud Shell ausgeführt wird, haben Sie zwei Möglichkeiten:

  1. Sie können mit der Cloud Shell einen externen Port für Tests öffnen, der HTTP-Anforderungen an den localhost-Port Ihrer Cloud Shell-Instanz weiterleitet:

    • Verwenden Sie den folgenden cURL-Befehl, um Port 7071 über die Cloud Shell zu öffnen:

      curl -X POST http://localhost:8888/openPort/7071
      
    • Nach Abschluss des Tests verwenden Sie den folgenden cURL-Befehl, um den Port zu schließen:

      curl -X POST http://localhost:8888/closePort/7071
      
  2. Sie können mehrere Cloud Shell-Instanzen öffnen, um die Anwendung lokal zu testen:

    • Sie führen die Anwendung in der ersten Instanz aus.

    • Verwenden Sie cURL, um die Anwendung in der zweiten Instanz zu testen.

In der nächsten Übung öffnen Sie einen Port mit der ersten Methode.

Ausführen der Funktion in Cloud Shell

Nachdem Sie einen Port zum Testen geöffnet haben, besteht die nächste Aufgabe darin, die Funktion zu erstellen und auszuführen. Führen Sie dazu die folgenden Schritte aus:

  1. Ändern Sie in der Cloud Shell das Verzeichnis in den Stammordner Ihres Projekts.

  2. Verwenden Sie den folgenden Maven-Befehl, um die Anwendung zu erstellen:

    mvn clean package
    
  3. Verwenden Sie den folgenden Maven-Befehl, um die Anwendung auszuführen:

    mvn azure-functions:run
    

    Während Maven die Runtimeumgebung für die Funktion vorbereitet, wird das Logo von Azure Functions Core Tools angezeigt:

    Image showing the Azure Function Core tools logo.

  4. Verwenden Sie nach Abschluss der Tests den Befehl STRG+C von der Azure Cloud Shell, um den Server anzuhalten.

Testen der Funktion mithilfe von HTTP-Anforderungen

In diesem Modul wird eine einzelne Instanz der Cloud Shell verwendet. Daher müssen Sie die Anwendung testen, indem Sie eine neue Registerkarte im Webbrowser öffnen. Geben Sie in der Adressleiste des Browsers eine URL ein, die dem folgenden Beispiel ähnelt:

https://gateway.westus.console.azure.com/n/cc-12345678/cc-12345678/proxy/7071/api/HttpExample?name=Bob

Wenn Sie jedoch mehrere Instanzen der Cloud Shell verwenden, können Sie den folgenden cURL-Befehl nutzen, um die Anwendung in einer separaten Instanz der Shell zu testen:

curl http://localhost:7071/api/HttpExample?name=Bob

In der nächsten Übung wenden Sie die Kenntnisse an, die Sie in dieser Lektion erlernt haben. Sie öffnen einen Testport, führen die Funktion in der Cloud Shell aus und bestimmen die URL, die Sie für einen Test der Funktion in Ihrem Webbrowser benötigen.