Cvičení – přidání další aplikace Azure Functions do existujícího rozhraní API

Dokončeno

Vzpomeňte si, že chcete integrovat všechny samostatné mikroslužby, které jsou Azure Functions, do jednoho rozhraní API. Přidali jste aplikaci funkcí Products do nové instance služby API Management. Teď chcete do rozhraní API přidat další aplikaci funkcí.

V tomto cvičení přidáte do rozhraní API aplikaci funkcí Orders a použijete curl nástroj k otestování integrovaného systému.

Otestování funkce OrderDetails

Než do rozhraní API přidáme aplikaci funkcí Orders, otestujeme funkci, která hostuje – OrderDetails.

  1. V nabídce prostředků Azure nebo na domovské stránce vyberte Všechny prostředky. Zobrazí se podokno Všechny prostředky .

  2. Seřaďte prostředky podle typu a vyberte aplikaci funkcí, jejíž název začíná funkcí OrderFunction. Zobrazí se podokno Přehled aplikace funkcí OrderFunction.

  3. V seznamu funkcí pro vaši aplikaci funkcí vyberte OrderDetails. Zobrazí se podokno Přehled funkce OrderDetails .

  4. V nabídce Podrobnosti objednávky v části Vývojář vyberte Kód + Test. Zobrazí se podokno Code + Test pro funkci OrderDetails zobrazující obsah function.json souboru.

    OrderDetails JSON code, with Code + Test v nabídce a Test/Run in command bar highlighted.

  5. Na panelu příkazů vyberte Test/Spustit. Zobrazí se karta Vstupní parametry pro funkci OrderDetails.

  6. V poli metody HTTP vyberte z rozevíracího seznamu get a pak v části Dotaz, vyberte Přidat parametr a v poli Název zadejte název a do pole Hodnota zadejte Chiba (hodnota je rozlišující malá a velká písmena) a pak vyberte Spustit.

  7. Otevře se konzola protokolu a zobrazí stav požadavku. Na kartě Výstup se zobrazí kód odpovědi HTTP a obsah ve formátu JSON.

    Zobrazí se stránka s možností přidání nové funkce.

    Volitelně můžete spouštět další žádosti s použitím hodnot názvů Henri a Barriclough k získání různých objednávek zákazníků.

  8. Výběrem možnosti Zavřít zavřete karty Výstup vstupu pro test/spuštění.

  9. Na panelu příkazů podokna OrderDetails vyberte Získat adresu URL funkce. Všimněte si, že adresa URL je název funkce v doméně azurewebsites.net.

Přidání funkce do existujícího rozhraní API

V tomto kroku přidáme funkci Order do prostředku služby API Management, který jsme vytvořili v předchozím cvičení. V tom cvičení jsme použili rozhraní API Management z rozhraní aplikace funkcí. V této části přejdeme k instanci služby API Management prostřednictvím nabídky prostředků webu Azure Portal, abychom ukázali, že jsou k dispozici oba přístupy.

  1. V nabídce prostředků Azure nebo na domovské stránce vyberte Všechny prostředky. Zobrazí se podokno Všechny prostředky .

  2. Seřaďte prostředky podle typu a pak vyberte službu OnlineStore API Management. Zobrazí se služba API Management pro OnlineStore .

  3. V nabídce v části Rozhraní API vyberte rozhraní API. Podokno Rozhraní API zobrazuje možnosti pro definování nového rozhraní API.

  4. V části Vytvořit z prostředku Azure vyberte Aplikaci funkcí.

    Snímek obrazovky Přidat nové rozhraní API se zvýrazněnou možností Aplikace funkcí

    Zobrazí se dialogové okno Vytvořit z aplikace funkcí.

  5. Pokud chcete vybrat aplikaci funkcí, vyberte Procházet. Zobrazí se podokno Import Azure Functions .

  6. V poli Konfigurovat požadovaná nastavení vyberte Vybrat.

    Snímek obrazovky s dialogovým oknem Importovat azure Functions s polem Konfigurovat požadovaná nastavení a zvýrazněným tlačítkem Vybrat(.. /media/5-import-azure-function-app-03-expanded.png#lightbox)

    Zobrazí se podokno Vybrat aplikaci funkcí Azure.

  7. Vyberte OrderFunctionNNNNNNN a pak vyberte Vybrat. Podokno Import Azure Functions se znovu zobrazí s nakonfigurovanou aplikací funkcí OrderDetails.

  8. Ujistěte se, že je zaškrtnuté OrderDetails, a potom v dolní části stránky vyberte Vybrat a přidejte funkci. Zobrazí se dialogové okno Vytvořit z aplikace funkcí.

  9. Nahraďte hodnotu v poli přípony adresy URL rozhraní API objednávkami. Všimněte si, jak tato změna aktualizuje základní adresu URL. Výběrem možnosti Vytvořit vytvořte rozhraní API.

    Snímek obrazovky s dialogem Vytvořit z aplikace funkcí vyplněným podrobnostmi funkce Orders

    Služba OnlineStore API Management zobrazí kartu Návrh se všemi dostupnými rozhraními API (GET, POST) pro OrderDetails.

Otestování koncového bodu orders pro OnlineStore na portálu

Teď, když jsme do našeho rozhraní API přidali OrderDetails, ho otestujeme pomocí nástrojů API Management na webu Azure Portal.

  1. Na kartě Návrh rozhraní API OrderFunctionNNNN VYBERTE v části Všechny operace příkaz GET OrderDetails a pak vyberte kartu Test .

  2. V části Parametry dotazu vyberte Přidat parametr a zadejte název do pole NAME a Chiba a do pole HODNOTA. Vyberte Odeslat.

  3. Na kartě zprávy s odpovědí HTTP se zobrazuje úspěšný požadavek HTTP (HTTP/1.1/ 200 OK) spolu s objektem JSON zobrazujícím ID objednávky spolu s názvem zákazníka, celkovou cenou objednávky a stavem expedice.

  4. Posuňte se nahoru k části požadavku HTTP. Všimněte si, že se požadavek odeslal do subdomény a podadresáře v rámci azure-api.net domény. Toto umístění se liší od azurewebsites.net hostitelské domény.

Testování kombinovaného rozhraní API

K odesílání žádostí do rozhraní API můžeme použít nástroj příkazového řádku curl. CURL je ideální, protože můžeme do požadavku zahrnout správný klíč předplatného. Požadavek také potřebuje umístění rozhraní API, které je hostované ve službě Azure API Management a v tomto případě se skládá z funkcí Products and Orders.

  1. V nabídce prostředků Azure nebo na domovské stránce vyberte Všechny prostředky.

  2. Seřaďte prostředky podle typu a pak vyberte službu OnlineStore API Management. Zobrazí se služba API Management pro OnlineStore .

  3. V části Základy najeďte myší na adresu URL brány a vyberte ikonu Kopírovat do schránky.

  4. V Azure Cloud Shellu napravo umožňuje definovat některé proměnné. Spusťte následující příkaz, nahraďte <paste URL here> zástupný text hodnotou adresy URL , kterou jste zkopírovali do schránky, a stiskněte Enter. Tato hodnota definuje proměnnou brány.

    GATEWAY_URL=<paste URL here>
    
  5. V Azure se v nabídce služby OnlineStore API Management posuňte dolů k rozhraní API a vyberte Předplatná. Zobrazí se podokno Předplatná pro vaši instanci služby OnlineStore API Management.

  6. Pro předdefinované předplatné s veškerým přístupem vyberte tři tečky ... úplně vpravo od tohoto řádku a pak v místní nabídce vyberte Zobrazit nebo skrýt klíče. Zobrazí se primární klíč a sekundární klíč rozhraní API.

  7. V poli Primární klíč vyberte ikonu Kopírovat do schránky.

  8. V Cloud Shellu spusťte následující příkaz, nahraďte zástupný symbol hodnotou ve schránce a stiskněte Enter.

    SUB_KEY=<paste key here>
    
  9. Teď můžeme požádat o podrobnosti objednávky a produktu dotazováním stejné služby API Management:

    1. Pokud chcete požádat o podrobnosti pro zákazníka s názvem Henri, spusťte v Cloud Shellu následující příkaz:

       curl -X GET "$GATEWAY_URL/orders/OrderDetails?name=Henri" -H "Ocp-Apim-Subscription-Key:$SUB_KEY"
      

      Odpověď obsahuje blok kódu JSON s podrobnostmi objednávky, které ukazují, že objednávka 56224 byla odeslána pascale Henri. Můžete také vyzkoušet příkaz s názvy Chiba a Barriclough pro různé výsledky.

    2. Pokud chcete požádat o podrobnosti o produktu s ID 2, spusťte v Cloud Shellu následující příkaz:

       curl -X GET "$GATEWAY_URL/products/ProductDetails?id=2" -H "Ocp-Apim-Subscription-Key:$SUB_KEY"
      

      Odpověď obsahuje blok kódu JSON s podrobnostmi o produktu. Můžete také vyzkoušet příkaz s hodnotami ID 1 a 3 pro různé výsledky.

Všimněte si, že obě funkce se teď dají volat prostřednictvím koncových bodů v azure-api.net doméně (jak je definováno GATEWAY_URL), což je doména používaná službou Azure API Management. V dalších modulech Learn se naučíte používat zásady, nastavení zabezpečení, externí mezipaměti a další funkce pro funkce v bráně API Management. Brána poskytuje centrální řídicí bod, kde můžete spravovat více mikroslužeb beze změny jejich kódu.