Gyakorlat – Azure Functions-alkalmazások hozzáadása egy meglévő API-hoz

Befejeződött

Ne feledje, hogy az összes különálló mikroszolgáltatást, azaz az Azure Functionst egyetlen API-ba szeretné integrálni. Hozzáadta a Products függvényalkalmazást az API Management új példányához. Most egy másik függvényalkalmazást szeretne hozzáadni az API-hoz.

Ebben a gyakorlatban hozzáadja az Orders függvényalkalmazást az API-hoz, és az curl eszközzel teszteli az integrált rendszert.

Az OrderDetails függvény tesztelése

Mielőtt hozzáadnánk az Orders függvényalkalmazást az API-hoz, teszteljük az általa üzemeltetett függvényt – OrderDetails.

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

  2. Rendezze az erőforrásokat típus szerint, majd válassza ki azt a függvényalkalmazást, amelynek a neve OrderFunction néven kezdődik. Megjelenik az OrderFunction függvényalkalmazás Áttekintés panelje.

  3. A függvényalkalmazás függvénylistájában válassza az OrderDetails lehetőséget. Megjelenik az OrderDetails függvény áttekintése panel.

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

    OrderDetails JSON code, with Code + Test in menu and Test/Run in command bar highlighted.

  5. A parancssávon válassza a Tesztelés/Futtatás lehetőséget. Megjelenik az OrderDetails függvény Bemeneti paraméterek lapja.

  6. A HTTP-metódus mezőben válassza a GET lehetőséget a legördülő listából, majd a Lekérdezés területen válassza a Paraméter hozzáadása lehetőséget, majd a Név mezőben adja meg a nevet, majd az Érték mezőben adja meg a Chiba értéket (az érték megkülönbözteti a kis- és nagybetűk értékét), majd válassza a Futtatás lehetőséget.

  7. Megnyílik egy naplókonzol, amely megjeleníti a kérés állapotát. A Kimenet lapon a HTTP-válaszkód és a tartalom JSON formátumban jelenik meg.

    Add a new function option page appears.

    Igény szerint további kéréseket is futtathat Henri és Barriclough névértékekkel a különböző ügyfélrendelések lekéréséhez.

  8. A Bezárás gombra kattintva bezárhatja a Bemenet kimenet lapjait a teszteléshez/futtatáshoz.

  9. Az OrderDetails panel parancssávján válassza a Függvény URL-címének lekérése lehetőséget. Láthatja, hogy az URL-cím az azurewebsites.net tartományon belüli függvény neve.

Függvény hozzáadása meglévő API-hoz

Ebben a lépésben hozzáadjuk a Order függvényt az előző gyakorlatban létrehozott API Management-erőforráshoz. Ebben a gyakorlatban az API Management felületet használtuk a függvényalkalmazás felületén belülről. Itt az Azure Portal erőforrásmenüjében navigálunk az API Management-példányhoz, hogy bemutassuk, mindkét megközelítés elérhető.

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

  2. Rendezze az erőforrásokat típus szerint, majd válassza az OnlineStore API Management szolgáltatást. Megjelenik az OnlineStore API Management szolgáltatása.

  3. A menü API-k területén válassza az API-kat. Az API-k panelen az új API-k meghatározásának lehetőségei láthatók.

  4. Az Azure-erőforrás létrehozása területén válassza a Függvényalkalmazás lehetőséget.

    Screenshot of the Add a New API screen with a callout highlighting the Azure Function App option.

    Megjelenik a Létrehozás függvényalkalmazásból párbeszédpanel.

  5. A függvényalkalmazás kiválasztásához válassza a Tallózás lehetőséget. Megjelenik az Azure Functions importálása panel.

  6. A Kötelező beállítások konfigurálása mezőben válassza a Kiválasztás lehetőséget.

    Screenshot of the Import Azure Functions dialog box with Configure required settings field and Select button highlighted.(.. /media/5-import-azure-function-app-03-expanded.png#lightbox)

    Megjelenik az Azure-függvényalkalmazás kiválasztása panel.

  7. Válassza az OrderFunctionNNNNNNNNNN, majd a Kiválasztás lehetőséget. Az Azure Functions importálása panel újra megjelenik az OrderDetails függvényalkalmazás konfigurálva.

  8. Győződjön meg arról, hogy az OrderDetails jelölőnégyzet be van jelölve, majd a lap alján válassza a Kijelölés lehetőséget a függvény hozzáadásához. Megjelenik a Létrehozás függvényalkalmazásból párbeszédpanel.

  9. Cserélje le az API URL-utótag mezőjében szereplő értéket a rendelésekre. Figyelje meg, hogy ez a módosítás hogyan frissíti az alap URL-címet. Az API létrehozásához válassza a Létrehozás lehetőséget .

    Screenshot of the Create from Function App dialog populated with details of the Orders function.

    Az OnlineStore API Management szolgáltatás megjeleníti a Tervezés lapot az OrderDetails összes elérhető (GET, POST) API-jával.

Az OnlineStore megrendelési végpontjának tesztelése a portálon

Most, hogy hozzáadtuk az OrderDetailst az API-hoz, teszteljük az Azure Portal API Management eszközeivel.

  1. Az OrderFunctionNNNNNNNNN API-k Tervezés lapJának Minden művelet területén válassza a GET OrderDetails elemet, majd a Teszt fület.

  2. A Lekérdezési paraméterek szakaszban válassza a Paraméter hozzáadása lehetőséget, és adja meg a nevet a NÉV és a Chiba mezőben, valamint az ÉRTÉK mezőben. Kattintson a Küldés gombra.

  3. A HTTP válaszüzenet lapja a SIKERES HTTP-kérést (HTTP/1.1/ 200 OK) jeleníti meg, valamint egy JSON-objektumot, amely egy rendelésazonosítót, valamint az ügyfél nevét, a rendelés teljes árát és a szállítási állapotot jeleníti meg.

  4. Görgessen fel a HTTP-kérelem szakaszhoz; figyelje meg, hogy a kérést a rendszer egy altartományba és alkönyvtárba küldte a azure-api.net tartományon belül. Ez a hely eltér a azurewebsites.net gazdagép tartományától.

A kombinált API tesztelése

Ha kéréseket szeretne küldeni az API-nak, használhatja a curl parancssori eszközt. A cURL azért ideális, mert a megfelelő előfizetési kulcsot belefoglalhatjuk egy kérésbe. A kérésnek szüksége van az Azure API Managementben üzemeltetett API helyére is, amely ebben az esetben a Termékek és rendelések függvényekből áll.

  1. Az Azure-erőforrás menüjében vagy a Kezdőlapon válassza a Minden erőforrás lehetőséget.

  2. Rendezze az erőforrásokat típus szerint, majd válassza az OnlineStore API Management szolgáltatást. Megjelenik az OnlineStore API Management szolgáltatása.

  3. Az Alapvető elemek szakaszban mutasson az átjáró URL-címe fölé, és válassza a Vágólapra másolás ikont.

  4. A jobb oldali Azure Cloud Shellben definiálhat néhány változót. Futtassa a következő parancsot, cserélje le a <paste URL here> helyőrzőt a vágólapra másolt URL-értékre , majd nyomja le az Enter billentyűt. Ez az érték határozza meg az átjáróváltozót.

    GATEWAY_URL=<paste URL here>
    
  5. Az Azure-ban az OnlineStore API Management szolgáltatás menüjében görgessen le az API-hoz, és válassza az Előfizetések lehetőséget. Megjelenik az Előfizetések panel az OnlineStore API Management-példányhoz.

  6. A beépített teljes hozzáférésű előfizetéshez válassza a három pontot ... a sor jobb szélén, majd válassza a Helyi menüben a Kulcsok megjelenítése/elrejtése lehetőséget. Megjelenik az API elsődleges és másodlagos kulcsa.

  7. Az Elsődleges kulcs mezőben válassza a Vágólapra másolás ikont.

  8. A Cloud Shellben futtassa a következő parancsot, cserélje le a helyőrzőt a vágólapon lévő értékre, majd nyomja le az Enter billentyűt.

    SUB_KEY=<paste key here>
    
  9. Most már kérhetünk adatokat egy megrendelésről és egy termékről ugyanazon API Management szolgáltatás lekérdezésével:

    1. Egy Henri nevű ügyfél adatainak lekéréséhez futtassa a következő parancsot a Cloud Shellben:

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

      A válasz tartalmaz egy JSON-kódblokkot, amelyben a rendelés részletei azt mutatják, hogy az 56224- ös rendelést a Pascale Henri-be szállították. A parancsot a Chiba és a Barriclough névvel is kipróbálhatja a különböző eredményekhez.

    2. A 2 azonosítójú termék adatainak lekéréséhez futtassa a következő parancsot a Cloud Shellben:

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

      A válasz egy JSON-kódblokkot tartalmaz egy termék részleteivel. A parancsot 1 és 3 azonosítóvalis kipróbálhatja a különböző eredményekhez.

Figyelje meg, hogy mindkét függvény meghívható a azure-api.net tartomány (a GATEWAY_URL által meghatározott) végpontokon keresztül, amely az Azure API Management által használt tartomány. Más Learn-modulokban megtudhatja, hogyan alkalmazhat szabályzatokat, biztonsági beállításokat, külső gyorsítótárakat és egyéb funkciókat az API Management Gateway funkcióira. Az átjáró egy központi vezérlőpontot biztosít, ahol több mikroszolgáltatást is kezelhet a kód módosítása nélkül.