Cvičení – vytvoření nového rozhraní API ve službě API Management z aplikace funkcí

Dokončeno

Pokud chcete prezentovat azure Functions uživatelům jako součást jednoho rozhraní API, můžete je přidat do služby Azure API Management.

Ve vaší společnosti online obchodu vytvořili vaši vývojáři několik funkcí Azure Functions jako mikroslužby. Každá funkce implementuje malou část funkčnosti tohoto obchodu. Tyto funkce chcete sestavit do jednoho rozhraní API.

V tomto cvičení vytvoříte novou instanci služby API Management a pak do ní přidáte funkci Podrobnosti o produktu.

Vytvoření funkcí

V následujících krocích přidáte aplikaci Funkcí Azure do služby Azure API Management. Později do stejné instance služby API Management přidáte druhou aplikaci funkcí, která vytvoří jedno bezserverové rozhraní API z více funkcí. Začněme tím, že k vytvoření funkcí použijeme skript:

  1. Pokud chcete naklonovat projekt funkcí, spusťte v Azure Cloud Shellu napravo následující příkaz.

    git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
    
  2. Spuštěním následujících příkazů v Cloud Shellu nastavte potřebné prostředky Azure, které potřebujeme pro toto cvičení.

    cd ~/OnlineStoreFuncs
    bash setup.sh
    

    Skript setup.sh vytvoří dvě aplikace funkcí ve skupině prostředků sandboxu aktivované pro tento modul. Jak ukazuje následující obrázek, každá aplikace hostuje jednu funkci – OrderDetails a ProductDetails. Skript také nastaví účet úložiště pro funkce. Obě funkce mají adresy URL v doméně azurewebsites.net. Názvy funkcí obsahují kvůli jedinečnosti náhodná čísla. Dokončení tohoto skriptu trvá několik minut.

    Diagram znázorňující výsledky skriptu setup.sh a souvislost funkcí s celkovým řešením aplikace

Otestování funkce ProductDetails

Teď otestujeme funkci ProductDetails a podíváme se, jak se chová, než ji přidáme do služby API Management.

  1. Pomocí stejného účtu, kterým jste aktivovali sandbox, se přihlaste na Azure Portal.

  2. V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky. Zobrazí se podokno Všechny prostředky .

  3. Vyberte aplikaci funkcí, jejíž název začíná na ProductFunction. Zobrazí se podokno Aplikace funkcí s vybranou kartou Přehled .

    Snímek obrazovky s výběrem nabídek pro otevření funkce ProductDetails

  4. V seznamu funkcí pro vaši aplikaci funkcí vyberte ProductDetails. Zobrazí se podokno Funkce ProductDetails .

  5. V nabídce Podrobnosti o produktu v části Vývojář vyberte Kód + Test. Zobrazí se podokno Code + Test pro funkci ProductDetails s obsahem function.json souboru.

    Snímek obrazovky s podoknem Kód ProductDetails a Test a vybranou možností Test/Spustit na panelu příkazů

  6. Na panelu příkazů vyberte Test/Spustit. Zobrazí se podokno Vstup/výstup pro testování požadavku HTTP.

  7. Na kartě Vstup v rozevíracím seznamu pole metody HTTP vyberte GET.

  8. V části Dotaz vyberte přidat parametr.

  9. Do pole Název zadejte ID a do pole Hodnota zadejte 3 a pak vyberte Spustit.

    Snímek obrazovky se vstupním podoknem pro test a spuštění se zvýrazněným vstupním parametrem metody HTTP GET

  10. Zobrazí se podokno protokolu pro připojení požadavku. Na kartě Výstup se zobrazí kód odpovědi HTTP (200 OK) a obsah položky 3 v databázi.

    Snímek obrazovky s výstupem podokna pro test a spuštění s výsledky odpovědi spuštění metody GET

    Volitelně můžete funkci otestovat také zadáním hodnot ID 1 a 2.

  11. Výběrem možnosti Zavřít zavřete karty Výstup vstupu pro Kód + Test.

  12. Na panelu příkazů podokna Kód + Test ProductDetails vyberte Získat adresu URL funkce. Všimněte si, že subdoména adresy URL je název vaší aplikace funkcí následovaný azurewebsites.net doménou.

Poznámka:

Tuto adresu URL můžete použít k otestování funkce v prohlížeči. Adresa URL vyžaduje vstup; připojte řetězec &id=1 dotazu k vyžádání podrobností o první položce v kolekci produktů.

Zveřejnění aplikace funkcí jako rozhraní API pomocí služby Azure API Management

Po nasazení a otestovaní aplikace funkcí ji vyexportujme jako rozhraní API pomocí služby Azure API Management, aby ji bylo možné volat z jiných aplikací a služeb.

  1. V nabídce prostředků vyberte Všechny prostředky. Zobrazí se podokno Všechny prostředky .

  2. Seřaďte seznam prostředků podle typu. Všimněte si, že máte aplikaci OrderFunction a aplikaci ProductFunction.

  3. Vyberte aplikaci funkcí ProductFunction.

  4. V nabídce Aplikace funkcí přejděte do kategorie rozhraní API a vyberte API Management. Zobrazí se podokno API Management pro aplikaci funkcí ProductFunction.

    Snímek obrazovky s výběrem nabídky pro otevření služby API Management App Service

  5. V poli API Management vyberte Vytvořit nový. Zobrazí se podokno Instalace brány služby API Management.

    Snímek obrazovky znázorňující nastavení služby API Management

  6. Pro každé nastavení zadejte následující hodnoty.

    Nastavení Hodnota
    Předplatné Předplatné Concierge
    Skupina prostředků [název sandboxové skupiny prostředků]
    Oblast Zvolte umístění, které podporuje plán Consumption: (USA) USA – západ, USA – středosever, Západní Evropa, Severní Evropa, Jihovýchodní Asie, Austrálie – východ.
    Název prostředku OnlineStore
    Název organizace OnlineStore
    E-mail správce Zadejte e-mailovou adresu.
    Cenová úroveň Spotřeba (99,95 % SLA)
  7. Vyberte Další: Monitorování a zrušte zaškrtnutí možnosti Application Insights .

  8. Vyberte Zkontrolovat a vytvořit. Po dokončení ověření vyberte Vytvořit a vytvořte propojenou instanci služby API Management. Počkejte několik minut, než se export dokončí.

  9. Po nasazení instance služby API Management vyberte Propojit rozhraní API.

    Snímek obrazovky služby API Management se zvýrazněním tlačítka Propojit rozhraní API

    Zobrazí se podokno služby Import služby API Management služby Azure Functions se zvýrazněnou funkcí ProductDetails .

    Snímek obrazovky znázorňující podokno služby Importovat službu API Management služby Azure Functions

  10. Pokračujte výběrem možnosti Vybrat . Zobrazí se dialogové okno Vytvořit z aplikace funkcí.

    Snímek obrazovky s dialogovým oknem Vytvořit z aplikace funkcí

  11. Změňte hodnotu přípony adresy URL rozhraní API na produkty a pak vyberte Vytvořit. Azure vytvoří rozhraní API pro funkci ProductDetails . Zobrazí se podokno Návrh pro API Management pro vaši aplikaci funkcí.

V tomto cvičení se dozvíte, že můžete definovat rozhraní API, a to vše ve službě Azure Function App Service.

Otestování koncového bodu products pro OnlineStore

Teď máte ProductDetails rozhraní API v instanci služby API Management, kterou jste vytvořili. Pojďme toto rozhraní API otestovat pomocí nástrojů API Management v Azure.

  1. V podokně API Management vaší aplikace funkcí vyberte kartu Test. Dostupné operace pro vaše rozhraní API se zobrazí v levém sloupci.

  2. Vyberte GET ProductDetails. Zobrazí se podokno konzoly ProductDetails.

  3. V oblasti Parametry dotazu vyberte Přidat parametr.

    Snímek obrazovky zobrazující konzolu ProductDetails se zvýrazněnými hodnotami parametrů dotazu pro požadavek GET HTTP

  4. Do pole NÁZEV zadejte ID a do pole HODNOTA zadejte 1 a pak vyberte Odeslat a vygenerujte požadavek GET.

    Oddíl odpovědi HTTP konzoly obsahuje dvě karty– Zpráva a Trasování. Na kartě Zpráva se vyplní odpověď HTTP. Podrobnosti o produktu se zobrazí ve formátu JSON na konci odpovědi. Posuňte se nahoru do části požadavku HTTP a všimněte si formátu požadavku. Požadavek byl odeslán do cíle v azure-api.net doméně. Toto umístění se liší od azurewebsites.net domény, kde je aplikace funkcí hostovaná. Toto rozhraní API můžete otestovat pomocí dalších parametrů dotazu, jako je id=2 nebo id=3.

    Snímek obrazovky se zprávou **Http request** a **HTTP response** (Odpověď HTTP).