Místní spuštění a otestování funkce služby Azure Functions

Dokončeno

V předchozím cvičení jste vytvořili projekt funkce služby Azure Functions pomocí archetypu Azure Maven. Vaším dalším úkolem je sestavit funkci a spustit ji místně, abyste ověřili, že funguje.

V této lekci se dozvíte o nástrojích Azure Functions Core Tools, které vám pomůžou spouštět a testovat funkce místně. Dozvíte se také, jak otevřít port HTTP pro testování, jak spustit funkci v Cloud Shellu a jak funkci otestovat ve webovém prohlížeči.

Informace o nástrojích Azure Functions Core Tools

Azure Functions Core Tools je sada nástrojů pro sestavování a testování funkcí služby Azure Functions místně pomocí emulátoru terminálu nebo příkazového řádku. Přestože funkce služby Azure Functions, který vytvoříte, běží místně, můžou během testování v reálném čase přistupovat ke službám Azure. Jakmile dokončíte testování a vaše funkce je připravená k publikování, můžete aplikaci funkcí nasadit do svého předplatného Azure.

V současnosti existují tři verze Azure Functions Core Tools. Obecně ale platí, že pokud nemáte konkrétní potřebu používat starší verzi, měli byste při vývoji funkcí pro nasazení do Azure vždy používat nejnovější verzi. V tomto modulu použijete Azure Cloud Shell v sandboxu Learn, který má nejnovější verzi nástrojů Azure Functions Core Tools.

Poznámka:

Pokud jste v sandboxu Learn místo Cloud Shellu používali svůj osobní účet Azure, bylo by potřeba si projít téma Práce s Azure Functions Core Tools, kde najdete popisy, požadavky a pokyny k instalaci pro různé verze Azure Functions Core Tools.

Konfigurace prostředí Cloud Shell pro testování

Při testování webové aplikace, která běží v Cloud Shellu, máte dva různé způsoby testování aplikace:

  1. Cloud Shell můžete použít k otevření externího portu pro testování, který směruje požadavky HTTP na port místního hostitele vaší instance Cloud Shellu:

    • Pokud chcete otevřít port 7071 z Cloud Shellu, použijte následující příkaz cURL:

      curl -X POST http://localhost:8888/openPort/7071
      
    • Po dokončení testování zavřete port pomocí následujícího příkazu cURL:

      curl -X POST http://localhost:8888/closePort/7071
      
  2. Pro místní otestování aplikace můžete otevřít více instancí Cloud Shellu:

    • Spustili byste aplikaci v první instanci.

    • Pomocí příkazu cURL byste otestovali aplikaci z druhé instance.

V dalším cvičení použijete první metodu k otevření portu.

Spuštění funkce v Cloud Shellu

Po otevření portu pro testování je dalším úkolem sestavení a spuštění funkce. Můžete to udělat podle následujících kroků:

  1. V Cloud Shellu změňte adresář na kořenovou složku projektu.

  2. K sestavení aplikace použijte následující příkaz Mavenu:

    mvn clean package
    
  3. Ke spuštění aplikace použijte následující příkaz Mavenu:

    mvn azure-functions:run
    

    Zatímco Maven připravuje prostředí runtime pro vaši funkci, zobrazí se logo Azure Functions Core Tools:

    Image showing the Azure Function Core tools logo.

  4. Po dokončení testování zastavte server pomocí příkazu CTRL+C z Azure Cloud Shellu.

Otestování funkce pomocí požadavků HTTP

V tomto modulu použijete jednu instanci Cloud Shellu. V důsledku toho musíte aplikaci otestovat tak, že ve webovém prohlížeči otevřete novou kartu. Do adresního řádku prohlížeče zadejte adresu URL, která se podobá následujícímu příkladu:

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

Pokud ale používáte více instancí Cloud Shellu, můžete k otestování aplikace ze samostatné instance prostředí použít následující příkaz cURL:

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

V dalším cvičení použijete to, co jste se naučili v této lekci. Otevřete testovací port, spustíte funkci v Cloud Shellu a určíte adresu URL, kterou potřebujete použít k otestování funkce ve webovém prohlížeči.