Gyakorlat – A bemeneti és kimeneti kötéstípusok megismerése
Ebben a gyakorlatban létrehozunk egy függvényt, amely akkor fut, amikor HTTP-kérést kap, és egy üzenet küldésével válaszol az egyes kérésekre.
Tekintse meg a következő, magas szintű ábrát arról, hogy mit fogunk létrehozni.
A paraméter req
az eseményindító kötése, a paraméter res
pedig a kimeneti kötés. Segíthet ezeknek a paramétereknek a "kérés" és a "válasz" rövidítéseként tekinteni.
Függvényalkalmazás létrehozása
Hozzunk létre egy függvényalkalmazást, amelyet ebben a modulban használhatunk. A függvényalkalmazás lehetővé teszi, hogy logikai egységbe csoportosítsa a függvényeket az erőforrások egyszerűbb felügyelete, telepítése és megosztása érdekében.
Jelentkezzen be az Azure Portalra ugyanazzal a fiókkal, amelyet a tesztkörnyezetben aktivált.
Az erőforrás menüjében vagy a kezdőlapon válassza az Erőforrás létrehozása lehetőséget. Megjelenik az Erőforrás létrehozása panel.
Az Erőforrás létrehozása menüben válassza a Számítás lehetőséget, majd az eredmények listájában válassza a Függvényalkalmazás lehetőséget. Előfordulhat, hogy a függvényalkalmazást a Search szolgáltatás és a Piactér ablakban kell keresnie.
Válassza a Felhasználás lehetőséget, majd a Kiválasztás gombot. Megjelenik a Függvényalkalmazás létrehozása panel.
Az Alapszintű beállítások lapon adja meg az alábbi értékeket minden beállításhoz.
Beállítás Érték Leírás Projekt részletei Előfizetés Concierge-előfizetés A gyakorlathoz használni kívánt Azure-előfizetés. Erőforráscsoport A legördülő listában válassza a [tesztkörnyezeti erőforráscsoport neve] lehetőséget A tesztkörnyezet erőforráscsoportja. Példány részletei Függvényalkalmazás neve Globálisan egyedi név megadása Ez a név azonosítja az új függvényalkalmazást. Érvényes karakterek: a-z
,0-9
és-
.Futtatókörnyezet verme A legördülő listában válassza a Node.js A modulban szereplő mintakód JavaScript nyelven íródott. Verzió Alapértelmezett érték elfogadása Az alapértelmezett érték elegendő ehhez a gyakorlathoz. Régió A legördülő listában válasszon ki egy helyet Válassza ki az Önhöz legközelebbi régiót. Fogadja el az összes többi beállítás alapértelmezett beállításait. A beállítások érvényesítéséhez válassza a Véleményezés + létrehozás lehetőséget, majd válassza a Létrehozás lehetőséget a függvényalkalmazás kiépítéséhez és üzembe helyezéséhez.
Az üzembe helyezés eltarthat egy ideig. A fiók neve melletti globális vezérlőkben válassza az Értesítések ikont, és figyelje meg a sikeres üzembe helyezési üzenetet.
Ha a függvény üzembe helyezése befejeződött, válassza az Ugrás az erőforrásra lehetőséget. Megjelenik a függvényalkalmazás Áttekintés panelje.
Jelentkezzen be az Azure Portalra ugyanazzal a fiókkal, amellyel a tesztkörnyezetet aktiválta.
Az erőforrás menüjében vagy a kezdőlapon válassza az Erőforrás létrehozása lehetőséget. Megjelenik az Erőforrás létrehozása panel.
Az Erőforrás létrehozása menüben válassza a Számítás lehetőséget, majd az eredmények listájában válassza a Függvényalkalmazás lehetőséget. Előfordulhat, hogy a függvényalkalmazást a Search szolgáltatás és a Piactér ablakban kell keresnie.
Válassza a Felhasználás lehetőséget, majd a Kiválasztás gombot. Megjelenik a Függvényalkalmazás létrehozása panel.
Az Alapszintű beállítások lapon adja meg az alábbi értékeket minden beállításhoz.
Beállítás Érték Leírás Projekt részletei Előfizetés Concierge-előfizetés A gyakorlathoz használni kívánt Azure-előfizetés. Erőforráscsoport A legördülő listában válassza a [tesztkörnyezeti erőforráscsoport neve] lehetőséget A tesztkörnyezet erőforráscsoportja. Példány részletei Függvényalkalmazás neve Globálisan egyedi név megadása Ez a név azonosítja az új függvényalkalmazást. Érvényes karakterek: a-z
,0-9
és-
.Futtatókörnyezet verme A legördülő listában válassza a PowerShell Core lehetőséget A modul mintakódja a PowerShellben van megírva. Verzió Alapértelmezett érték elfogadása Az alapértelmezett érték elegendő ehhez a gyakorlathoz. Régió A legördülő listában válasszon ki egy helyet Válassza ki az Önhöz legközelebbi régiót. Fogadja el az összes többi beállítás alapértelmezett beállításait. Válassza a Véleményezés + létrehozás lehetőséget a bemenet ellenőrzéséhez, majd válassza a Létrehozás lehetőséget a függvényalkalmazás kiépítéséhez és üzembe helyezéséhez.
Az üzembe helyezés eltarthat egy ideig. A fiók neve melletti globális vezérlőkben válassza az Értesítések ikont, és figyelje meg a sikeres üzembe helyezési üzenetet.
Ha a függvény üzembe helyezése befejeződött, válassza az Ugrás az erőforrásra lehetőséget. Megjelenik a függvényalkalmazás Áttekintés panelje.
Tipp.
Ha nem találja a függvényalkalmazást az Azure Portalon, megtudhatja, hogyan adhat hozzá függvényalkalmazásokat kedvenceihez az Azure Portalon.
Függvény létrehozása
Most, hogy megvan a függvényalkalmazás, ideje létrehozni egy függvényt is. Minden függvény rendelkezik egy eseményindítóval, amely aktiválja azt. Ebben a modulban EGY HTTP-eseményindítót határozunk meg egy előre definiált sablon használatával.
Válassza a Függvény létrehozása gombot az Azure PortalOn a Függvények lapon, az Áttekintés lapon.
Megjelenik a Függvény létrehozása panel.
A Sablon kiválasztása szakaszban válassza ki a HTTP-eseményindító sablont, majd válassza a Tovább lehetőséget.
A Sablon részletei szakaszban erősítse meg az alábbi beállításokat.
A Függvénynév szövegmezőben használja az alapértelmezett HttpTrigger1 nevet. Az Azure automatikusan egyedi neveket hoz létre a létrehozott függvényekhez. Másik nevet is választhat, de ne felejtsen el értelmes neveket használni.
Az Engedélyezési szint szövegmezőben használja az alapértelmezett értékfüggvényt. Az engedélyezési szint határozza meg, hogy milyen kulcsoknak kell szerepelnie a kérelemben annak futtatásához. A függvényengedélyezési szinthez egy függvényspecifikus kulcs szükséges, amelyet a függvény létrehozása után találunk meg.
Válassza a Létrehozás lehetőséget. Amikor az eseményindító függvényt propagálja a függvényalkalmazásba, megjelenik a függvényalkalmazás Függvények panelje, amely a HttpTrigger1 elemet tartalmazza.
A parancssávon válassza a Függvény URL-címének lekérése lehetőséget. Megjelenik a Függvény URL-címének lekérése párbeszédpanel.
A legördülő listában válassza az alapértelmezett (függvénykulcs) lehetőséget, válassza a Másolás vágólapra ikont az URL-cím végén, majd az OK gombra kattintva zárja be a párbeszédpanelt.
Egy új böngészőlap címsorában illessze be a másolt függvény URL-címét. A kérés böngészőben való futtatásához nyomja le az Enter billentyűt . A válasz a függvényalkalmazás inicializálása során eltarthat néhány percig. Ha időtúllépési hibát kap, frissítéssel küldje el újra a kérést.
Amikor a függvény válaszol, a következő példához hasonló kimenetnek kell megjelennie a böngészőben.
This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.
Adja hozzá a következő lekérdezési sztringet
&name=Joe
az URL-cím végéhez. Az eredményként kapott URL-címnek a következő példához kell hasonlítania:https://example.azurewebsites.net/api/HttpTrigger1?code=AbCdEfGhIjKlMnOpQrStUvWxYz==&name=Joe
A kérés böngészőben való futtatásához nyomja le az Enter billentyűt . Amikor a függvény válaszol, a következő példához hasonló kimenetnek kell megjelennie a böngészőben.
Hello, Joe. This HTTP triggered function executed successfully.
Ahogy az eddigi gyakorlatból is látható, egy függvény létrehozásakor meg kell határoznia egy eseményindítót. Minden függvény egyetlen eseményindítóval rendelkezik. Ebben a példában egy HTTP-triggert fogunk használni, ami azt jelenti, hogy a függvény egy HTTP-kérés beérkezésekor indul el. A sablon alapértelmezett implementációja, amely az alábbi képernyőképen látható JavaScriptben látható, a kérelem lekérdezési sztringjében vagy törzsében szereplő paraméternév értékét adja vissza. Ha nem adott meg lekérdezési sztringet, a függvény egy olyan üzenettel válaszol, amely arra kéri a hívókat, hogy adjanak meg egy névértéket.
Az Azure Portal Függvény menüjében válassza a Kód + Teszt lehetőséget.
Megjelenik a függvény Kód + Teszt panelje, és megjeleníti a index.js fájl tartalmát. A függvény alapértelmezett JavaScript-kódjának az alábbi példához kell hasonlítania.
module.exports = async function (context, req) { context.log('JavaScript HTTP trigger function processed a request.'); const name = (req.query.name || (req.body && req.body.name)); const responseMessage = name ? "Hello, " + name + ". This HTTP triggered function executed successfully." : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."; context.res = { // status: 200, /* Defaults to 200 */ body: responseMessage }; }
Most vessünk egy rövid pillantást a függvény másik fájljára, a function.json konfigurációs fájlra. Ehhez a fájlhoz a kódblokk feletti fájlút legördülő listájából function.json választva érheti el. A konfigurációs adatok a következő JSON-listában jelennek meg.
{ "bindings": [ { "authLevel": "function", "type": "httpTrigger", "direction": "in", "name": "req", "methods": [ "get", "post" ] }, { "type": "http", "direction": "out", "name": "res" } ] }
Ez a függvény egy req
httpTrigger
nevű triggerkötéssel és egy res típusú kimeneti kötéssel rendelkezikhttp
.
A függvény előző kódjában láttuk, hogy a req paraméteren keresztül elértük a bejövő HTTP-kérés hasznos adatait. Hasonlóképpen http-választ is küldtünk az res paraméter beállításával. A kötések tehát tényleg jelentős terhet vesznek le a vállunkról!
Most, hogy már van függvényalkalmazásunk, hozzunk létre egy függvényt. Minden függvény rendelkezik egy eseményindítóval, amely aktiválja azt. Ebben a modulban létrehozunk egy HTTP-eseményindítót egy sablon használatával.
Válassza a Függvény létrehozása gombot az Azure PortalOn a Függvények lapon, az Áttekintés lapon.
Megjelenik a Függvény létrehozása panel.
A Sablon kiválasztása szakaszban válassza ki a HTTP-eseményindító sablont, majd válassza a Tovább lehetőséget.
A Sablon részletei szakaszban erősítse meg az alábbi beállításokat.
A Függvénynév szövegmezőben használja az alapértelmezett HttpTrigger1 nevet. Az Azure automatikusan egyedi nevet ad egy függvény létrehozásakor. Másik nevet is választhat, de ne felejtsen el értelmes neveket használni.
Az Engedélyezési szint szövegmezőben fogadja el az alapértelmezett értékfüggvényt. Az engedélyezési szint határozza meg, hogy milyen kulcsoknak kell szerepelnie a kérelemben annak futtatásához. A függvényhez függvényspecifikus kulcs szükséges.
Válassza a Létrehozás lehetőséget. Megjelenik a függvény HttpTrigger1 panelje.
A parancssávon válassza a Függvény URL-címének lekérése lehetőséget. Megjelenik a Függvény URL-címének lekérése párbeszédpanel.
Válassza ki az alapértelmezett (függvénykulcsot) a legördülő listából, majd válassza a Másolás vágólapra ikont az URL-cím végén, majd az OK gombra kattintva zárja be a párbeszédpanelt.
Egy új böngészőlap címsorában illessze be a másolt függvény URL-címét. A kérés böngészőben való futtatásához nyomja le az Enter billentyűt . A válasz a függvényalkalmazás inicializálása során eltarthat néhány percig. Ha időtúllépési hibát kap, frissítéssel küldje el újra a kérést.
Amikor a függvény válaszol, a következő példához hasonló kimenetnek kell megjelennie a böngészőben.
This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.
Adjon hozzá lekérdezési sztringet
&name=Joe
az URL-cím végéhez. Az eredményként kapott URL-címnek a következő példához kell hasonlítania:https://example.azurewebsites.net/api/HttpTrigger1?code=AbCdEfGhIjKlMnOpQrStUvWxYz==&name=Joe
A kérés böngészőben való futtatásához nyomja le az Enter billentyűt . Amikor a függvény válaszol, a következő példához hasonló kimenetnek kell megjelennie a böngészőben.
Hello, Joe. This HTTP triggered function executed successfully.
Ahogy az eddigi gyakorlatból is látható, egy függvény létrehozásakor meg kell határoznia egy eseményindítót. Minden függvény egyetlen eseményindítóval rendelkezik. Ebben a példában egy HTTP-triggert fogunk használni, ami azt jelenti, hogy a függvény egy HTTP-kérés beérkezésekor indul el. A sablon alapértelmezett implementációja, amely az alábbi képernyőképen látható a PowerShellben, a
Push-OutputBinding
parancsmaggal válaszol a kérelem lekérdezési sztringjének vagy törzsének részét képező paraméternév értékével. Ha nincs megadott sztring, a függvény egy üzenettel válaszol a hívó félnek, hogy adjon meg egy név értéket.A Függvény menüben válassza a Kód + Teszt lehetőséget. Megjelenik a függvény Kód + Teszt panelje, és megjeleníti a run.ps1 fájl tartalmát.
A függvény alapértelmezett PowerShell-kódjának az alábbi példához kell hasonlítania.
using namespace System.Net # Input bindings are passed in via param block. param($Request, $TriggerMetadata) # Write to the Azure Functions log stream. Write-Host "PowerShell HTTP trigger function processed a request." # Interact with query parameters or the body of the request. $name = $Request.Query.Name if (-not $name) { $name = $Request.Body.Name } $body = "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response." if ($name) { $body = "Hello, $name. This HTTP triggered function executed successfully." } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK Body = $body })
Most vessünk egy rövid pillantást a függvény másik fájljára, a function.json konfigurációs fájlra. A fájl megnyitásához válassza ki a function.json a filepath legördülő listájából. A konfigurációs adatok a következő JSON-listában jelennek meg.
{ "bindings": [ { "authLevel": "function", "type": "httpTrigger", "direction": "in", "name": "Request", "methods": [ "get", "post" ] }, { "type": "http", "direction": "out", "name": "Response" } ] }
Ahogy látható, ez a függvény rendelkezik egy Request nevű,
httpTrigger
típusú triggerkötéssel, és egy Response nevű,http
típusú kimeneti kötéssel. A függvény előző kódjában láttuk, hogyan fértünk hozzá a bejövő HTTP-kérés hasznos adataihoz a Kérés paraméteren keresztül. Hasonlóképpen http-választ küldtünk egyszerűen a Válasz paraméter beállításával. A kötések tehát tényleg jelentős terhet vesznek le a vállunkról.
Kötéstípusok megismerése
A Függvény menüben válassza az Integráció lehetőséget. Megjelenik a függvény Integráció panelje.
Figyelje meg, hogy már definiált egy eseményindítót és egy kimeneti kötést az alábbi képen látható módon. Az integrációs nézet a képernyő szélességéhez és magasságához igazodik. Ugyanezek az információk vízszintesen is megjelenhetnek, ha a képernyő elég széles.
Láthatja, hogy csak egy triggert adhatunk hozzá. Egy függvény eseményindítójának módosításához törölnie kell az eseményindítót, és létre kell hoznia egy újat. A Bemenetek és kimenetek szakaszok azonban lehetővé teszik egynél több kötés hozzáadását, így a kérés több bemeneti értéket is elfogadhat, és több kimeneti értéket is visszaadhat.
A Bemenetek mezőben válassza a Bemenet hozzáadása lehetőséget. Megjelenik a Bevitel létrehozása panel. A kötéstípus legördülő listájának kiválasztásával megtekintheti az összes lehetséges bemeneti kötéstípus listáját.
Szánjon egy kis időt, és gondolja át, hogyan használhatja ezeket a bemeneti kötéseket egy megoldásban.
A modul későbbi részében bemeneti kötéseket adunk hozzá, de egyelőre a Mégse gombra kattintva zárja be ezt a panelt.
A Kimenetek mezőben válassza a Kimenet hozzáadása lehetőséget. Megjelenik a Kimenet létrehozása panel. A kötéstípus legördülő listájának kiválasztásával megtekintheti az összes lehetséges kimeneti kötéstípus listáját.
Amint láthatja, többféle kimeneti kötéstípus van. A modul későbbi részében kimeneti kötéseket adunk hozzá, de egyelőre a Mégse gombra kattintva zárja be ezt a panelt.
A Függvény menüben válassza az Integráció lehetőséget. Megjelenik a függvény Integráció panelje.
Figyelje meg, hogy már definiált egy eseményindítót és egy kimeneti kötést az alábbi képen látható módon. Az integrációs nézet a képernyő szélességéhez és magasságához igazodik. Ugyanezek az információk függőlegesen is megjeleníthetők, ha a képernyő nem elég széles.
Láthatja, hogy csak egy triggert adhatunk hozzá. Egy függvény eseményindítójának módosításához törölnie kell az eseményindítót, és létre kell hoznia egy újat. A Bemenetek és kimenetek szakaszok azonban lehetővé teszik több kötés hozzáadását, így a függvény több bemeneti értéket is elfogadhat, és több kimeneti értéket is visszaadhat.
A Bemenetek mezőben válassza a Bemenet hozzáadása lehetőséget. Megjelenik a Bevitel létrehozása panel. A kötéstípus legördülő listájának kiválasztásával megtekintheti az összes lehetséges bemeneti kötéstípus listáját.
Szánjon egy kis időt, és gondolja át, hogyan használhatja ezeket a bemeneti kötéseket egy megoldásban. Számos lehetőség közül választhat.
A modul későbbi részében bemeneti kötéseket adunk hozzá, de egyelőre a Mégse gombra kattintva zárja be ezt a panelt.
A Kimenetek mezőben válassza a Kimenet hozzáadása lehetőséget. Megjelenik a Kimenet létrehozása panel. A kötéstípus legördülő listájának kiválasztásával megtekintheti az összes lehetséges kimeneti kötéstípus listáját.
Amint láthatja, többféle kimeneti kötéstípus van. A modul későbbi részében kimeneti kötéseket adunk hozzá, de egyelőre a Mégse gombra kattintva zárja be ezt a panelt.
Eddig megtanultuk, hogyan hozhat létre függvényalkalmazást, és hogyan adhat hozzá függvényt. Láttunk egy egyszerű függvényt a műveletben – az egyik, amely HTTP-kérések végrehajtásakor fut. Megismertük az Azure Portalt, valamint a függvények számára elérhető bemeneti és kimeneti kötések típusait is. A következő egységben egy bemeneti kötés segítségével fogunk szöveget beolvasni egy adatbázisról.