Gyakorlat – Új API létrehozása az API Management szolgáltatásban egy függvényalkalmazásból

Befejeződött

Ha egyetlen API részeként szeretné bemutatni az Azure Functionst a felhasználóknak, hozzáadhatja őket az Azure API Managementhez.

Az online áruházbeli vállalatnál a fejlesztők több Azure Functions-függvényt hoztak létre mikroszolgáltatásként. Minden egyes függvény az áruház működésének egy kis részét valósítja meg. Ezeket a függvényeket egyetlen API-ba szeretné összeállítani.

Ebben a gyakorlatban létrehoz egy új API Management-példányt, majd hozzáad hozzá egy Termék részletei függvényt.

Függvények létrehozása

A következő lépésekben egy Azure-függvényalkalmazást ad hozzá az Azure API Managementhez. Később hozzáad egy második függvényalkalmazást ugyanahhoz az API Management-példányhoz, hogy egyetlen kiszolgáló nélküli API-t hozzon létre több függvényből. Első lépésként használjon egy szkriptet a függvények létrehozásához:

  1. A függvényprojekt klónozásához futtassa a következő parancsot a jobb oldalon található Azure Cloud Shellben.

    git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
    
  2. Futtassa az alábbi parancsokat a Cloud Shellben a gyakorlathoz szükséges Azure-erőforrások beállításához.

    cd ~/OnlineStoreFuncs
    bash setup.sh
    

    A setup.sh szkript létrehozza a modulhoz aktivált tesztkörnyezeti erőforráscsoport két függvényalkalmazását. Ahogyan az alábbi ábrán is látható, minden egyes alkalmazás egyetlen függvénynek ad helyet: OrderDetails és ProductDetails. A szkript egy tárfiókot is beállít a függvényekhez. Mindkét függvény URL-címe az azurewebsites.net tartományban található. A függvénynevek az egyediség érdekében véletlenszerű számokat tartalmaznak. A szkript futása néhány percet vesz igénybe.

    Diagram illustrating the results of the setup.sh script and how the functions relate to the overall application's design.

A ProductDetails függvény tesztelése

Most teszteljük a ProductDetails függvényt, hogy lássuk, hogyan viselkedik, mielőtt hozzáadnánk az API Managementhez.

  1. Jelentkezzen be az Azure Portalra ugyanazzal a fiókkal, amellyel a tesztkörnyezetet aktiválta.

  2. Az Azure Portal menüjében vagy a Kezdőlapon válassza az Összes erőforrás elemet. Megjelenik a Minden erőforrás panel.

  3. Válassza ki azt a függvényalkalmazást, amelynek a neve ProductFunction-szel kezdődik. Megjelenik a Függvényalkalmazás panel, amelyen az Áttekintés lap van kijelölve.

    Screenshot of menu selections to open ProductDetails function.

  4. A függvényalkalmazás függvénylistájában válassza a ProductDetails lehetőséget. Megjelenik a ProductDetails függvény panel.

  5. A Termék részletei menü Fejlesztőeszközök területén válassza a Kód + Teszt lehetőséget. Megjelenik a ProductDetails függvény Code + Test paneljefunction.json, amelyen a fájl tartalma látható.

    Screenshot of the ProductDetails Code and Test pane, with Test/Run selected in the command bar.

  6. A parancssávon válassza a Tesztelés/Futtatás lehetőséget. Megjelenik a Bemenet/Kimenet panel a HTTP-kérés teszteléséhez.

  7. A Bemenet lap HTTP-metódus mező legördülő listájában válassza a GET lehetőséget.

  8. A Lekérdezés területen válassza a Paraméter hozzáadása lehetőséget

  9. A Név mezőben adja meg az azonosítót, majd az Érték mezőben adja meg a 3 értéket, majd válassza a Futtatás lehetőséget.

    Screenshot of the input pane for Test + Run, with the input parameter for the HTTP GET method highlighted.

  10. Megjelenik egy naplópanel a kérés csatlakoztatásához. A Kimenet lapon megjelenik a HTTP-válaszkód (200 OK) és a 3. elem tartalma az adatbázisban.

    Screenshot of the output of a pane for Test + Run with response results of running the GET method.

    A függvényt az 1. és a 2. azonosítóértékek bevitelével is tesztelheti.

  11. A Bezárás gombra kattintva bezárhatja a Kód + Teszt bemeneti kimenet lapjait.

  12. A ProductDetails Code + Test panel parancssávján válassza a Függvény URL-címének lekérése lehetőséget. Figyelje meg, hogy az URL-altartomány a függvényalkalmazás neve, amelyet a azurewebsites.net tartomány követ.

Megjegyzés:

Ezzel az URL-címmel tesztelheti a függvényt a böngészőben. Az URL-cím bemenetet igényel; fűzze hozzá a lekérdezési sztringet &id=1 a termékgyűjtemény első elemének részleteinek lekéréséhez.

Függvényalkalmazás közzététele API-ként az Azure API Management használatával

A függvényalkalmazás üzembe helyezése és tesztelése után exportáljuk API-ként az Azure API Management használatával, hogy meghívható legyen más alkalmazásokból és szolgáltatásokból.

  1. Az erőforrás menüjében válassza a Minden erőforrás lehetőséget. Megjelenik a Minden erőforrás panel.

  2. Az erőforrások listáját típus szerint rendezheti. Figyelje meg, hogy rendelkezik OrderFunction-alkalmazással és ProductFunction-alkalmazással.

  3. Válassza ki a ProductFunction függvényalkalmazást .

  4. A Függvényalkalmazás menüben görgessen az API-kategóriához, majd válassza az API Management lehetőséget. Megjelenik a ProductFunction függvényalkalmazás API Management panelje.

    Screenshot showing menu selection to open the API Management app service.

  5. Az API Management mező alatt válassza az Új létrehozása lehetőséget. Megjelenik az API Management-átjáró telepítése panel.

    Screenshot showing settings for an API Management service.

  6. Minden beállításhoz adja meg a következő értékeket.

    Beállítás Value
    Subscription Concierge-előfizetés
    Erőforráscsoport [tesztkörnyezeti erőforráscsoport neve]
    Region Válasszon egy helyet, amely támogatja a fogyasztási tervet: (USA) USA nyugati régiója, USA északi középső régiója, Nyugat-Európa, Észak-Európa, Délkelet-Ázsia, Kelet-Ausztrália
    Erőforrás neve OnlineStore
    Szervezet neve OnlineStore
    Rendszergazda e-mail-címe Adjon meg egy e-mail-címet.
    Tarifacsomag Felhasználás (99,95% SLA)
  7. Válassza a Tovább elemet: Figyelés és az Alkalmazás Elemzések lehetőség törlése.

  8. Válassza a Felülvizsgálat és létrehozás lehetőséget. Ha az ellenőrzés befejeződött, a Létrehozás gombra kattintva hozzon létre egy csatolt API Management-példányt. Az exportálás befejezésének engedélyezése néhány percig.

  9. Az API Management-példány üzembe helyezésekor válassza a Link API lehetőséget.

    Screenshot of API Management highlighting the Link API button.

    Megjelenik az Azure Functions API Management szolgáltatás importálása panel, amelyen a ProductDetails függvény van kiemelve.

    Screenshot showing the Import Azure Functions API Management service pane.

  10. A folytatáshoz válassza a Kiválasztás lehetőséget . Megjelenik a Létrehozás függvényalkalmazásból párbeszédpanel.

    Screenshot showing the Create from Function app dialog box.

  11. Módosítsa az API URL-utótag értékét termékekre, majd válassza a Létrehozás lehetőséget. Az Azure létrehozza a ProductDetails függvény API-ját. Megjelenik a függvényalkalmazás API Management paneljének Tervezés lapja.

Ez a gyakorlat azt mutatja, hogy definiálhatja az API-t, mindezt az Azure Function App Service-ben.

Az OnlineStore-termékek végpontjának tesztelése

Most már rendelkezik egy ProductDetails API-val a létrehozott API Management-példányban. Teszteljük az API-t az Azure API Management eszközeivel.

  1. A függvényalkalmazás API Management paneljén válassza a Tesztelés lapot. Az API-hoz elérhető műveletek a bal oldali oszlopban jelennek meg.

  2. Válassza a GET ProductDetails lehetőséget. Megjelenik a ProductDetails Konzol panel.

  3. A Lekérdezési paraméterek csoportban válassza a Paraméter hozzáadása lehetőséget.

    Screenshot showing ProductDetails Console with query parameter values highlighted for the GET HTTP request.

  4. A NÉV mezőben adja meg az azonosítót, majd az ÉRTÉK mezőben adja meg az 1 értéket, majd válassza a Küldés lehetőséget a GET kérés létrehozásához.

    A konzol HTTP-válasz szakaszának két lapja van, az Üzenet és a Nyomkövetés. Az Üzenet lap a HTTP-válaszsal van feltöltve. A termék részletei JSON formátumban jelennek meg a válasz végén. Görgessen fel a HTTP-kérelem szakaszhoz, és figyelje meg a kérés formátumát. A kérés a azure-api.net tartomány egyik célhelyére lett elküldve. Ez a hely eltér attól a azurewebsites.net tartománytól, ahol a függvényalkalmazás üzemel. Ezt az API-t más lekérdezési paraméterekkel is tesztelheti, például id=2 vagy id=3.

    Screenshot showing the **Http request** and **HTTP response** message.