Azure Functions fejlesztői útmutató

A Azure Functions minden függvény alapvető technikai fogalmakat és összetevőket oszt meg, függetlenül az előnyben részesített nyelvtől vagy fejlesztési környezettől. Ez a cikk nyelvspecifikus. Válassza ki a kívánt nyelvet a cikk tetején.

Ez a cikk feltételezi, hogy már elolvasta az Azure Functions áttekintését.

Ha inkább közvetlenül be szeretne ugrani, a Visual Studio, Visual Studio Code vagy a kommentált parancssorból végezheti el.

Ha inkább közvetlenül be szeretne ugrani, a Maven (parancssor), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud, vagy Visual Studio Code.

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Kódprojekt

A Azure Functions középpontjában egy nyelvspecifikus kódprojekt áll, amely egy vagy több, functions nevű kódvégrehajtási egységet implementál. A függvények egyszerűen olyan metódusok, amelyek a Azure felhőben futnak események, HTTP-kérések válasza vagy ütemezés alapján. A Azure Functions kódprojektre úgy tekinthet, mint a projekt egyes funkcióinak rendszerezésére, üzembe helyezésére és közös kezelésére, amikor azok Azure futnak. További információ: Függvények rendszerezése.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. A nyelvspecifikus részletes útmutatásért tekintse meg a C# fejlesztői útmutatóját.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért tekintse meg a Java fejlesztői útmutatót.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. A nyelvspecifikus útmutatásért tekintse meg a Node.js fejlesztői útmutatót.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért tekintse meg a PowerShell fejlesztői útmutatóját.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért tekintse meg a Python fejlesztői útmutatót.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért lásd a Go fejlesztői útmutatót.

Minden függvénynek rendelkeznie kell egy eseményindítóval, amely meghatározza a függvény indításának módját, és képes bemenetet adni a függvénynek. A függvények opcionálisan definiálhatnak bemeneti és kimeneti kötéseket. Ezek a kötések egyszerűsítik a más szolgáltatásokhoz való kapcsolódást anélkül, hogy ügyféloldali SDK-kkal kellene dolgozniuk. További információ: Azure Functions triggerek és kötések fogalma.

Azure Functions nyelvspecifikus projekt- és függvénysablonokat biztosít, amelyek megkönnyítik új kódprojektek létrehozását és függvények hozzáadását a projekthez. A Azure Functions fejlesztést támogató eszközök bármelyikével új alkalmazásokat és függvényeket hozhat létre ezekkel a sablonokkal.

Fejlesztési eszközök

Az alábbi eszközök helyi és integrált fejlesztési és publikációs élményt nyújtanak az Azure Functions számára az Ön által preferált nyelven:

Ezek az eszközök integrálhatók a Azure Functions Core Tools segítségével, hogy a helyi számítógépen futtassa és hibakeresését a Functions-futtatókörnyezettel. További információ: Kódolás és Azure Functions helyi tesztelése.

Van egy szerkesztő is a Azure portálban, amivel frissítheted a kódodat és afunction.json definíciós fájlodat közvetlenül a portálban. Ezt a szerkesztőt csak apró változtatásokhoz vagy koncepció-bizonyító függvények létrehozásához használd. Mindig fejlessd a funkcióidat helyben, amikor csak lehet. További információ: Az első függvény létrehozása a Azure portálon.

A portálszerkesztés csak Node.js 3- es verzió esetén támogatott, amely a function.json fájlt használja.

Telepítés

Amikor közzéteszi a kódprojektet a Azure, lényegében egy meglévő függvényalkalmazás-erőforrásban helyezi üzembe a projektet. A függvényalkalmazások végrehajtási környezetet biztosítanak Azure, amelyben a függvények futnak. Ezért ez a függvények üzembe helyezésének és felügyeletének egysége. Az Azure erőforrás szempontjából a függvényalkalmazások egyenértékűek egy webhelyerőforrással (Microsoft.Web/sites) Azure App Service, amely egy webalkalmazással egyenértékű.

Egy funkcióalkalmazás egy vagy több egyedi funkcióból áll, amelyeket kezelsz, telepítünk és skálázolsz. A függvényalkalmazások összes függvénye ugyanazt a tarifacsomagot, üzembe helyezési módszert és futtatókörnyezeti verziót használja. További információ: Függvényalkalmazások kezelése.

Ha a funkcióalkalmazás és a szükséges erőforrások még nem léteznek az Azure-ban, ezeket az erőforrásokat kell létrehoznod, mielőtt telepíthetnéd a projektfájlokat. Ezeket az erőforrásokat az alábbi módokon hozhatja létre:

Az eszközalapú közzététel mellett a Functions más technológiákat is támogat a forráskód meglévő függvényalkalmazásban való üzembe helyezéséhez. További információ: Deployment technologies in Azure Functions.

Kapcsolódás szolgáltatásokhoz

A felhőalapú számítási szolgáltatások egyik fő követelménye az adatok olvasása és más felhőszolgáltatásokba való írása. A Functions számos kötést biztosít, amelyek megkönnyítik a szolgáltatásokhoz való csatlakozást anélkül, hogy ügyféloldali SDK-kkal kellene dolgoznia.

Akár a Functions által biztosított kötési bővítményeket használod, akár közvetlenül kliens SDK-kkal dolgozol, biztonságosan tárolod a kapcsolati adatokat, és nem teszed bele a kódodba.

Alapértelmezett hoszt-tároló

Függvényalkalmazás-példány létrehozásakor az Azure Functionsnek Azure Storage-fiókra van szüksége. Ezt az alapértelmezett tárolófiókot a Functions host és néhány binding extension belsősti használja.

Ha szeretnéd megtudni, hogyan lehet biztonságosan definiálni a kapcsolatokat az alapértelmezett tárolófiókhoz, lásd : Definiáld a kapcsolatokat.

Kötések

A Functions számos Azure szolgáltatáshoz és néhány külső szolgáltatáshoz biztosít kötéseket, amelyek bővítményként vannak implementálva. További információkért tekintse meg a támogatott kötések teljes listáját.

A kötésbővítmények támogatják a bemeneteket és a kimeneteket is, és számos eseményindító bemeneti kötésként is működik. A kötések lehetővé teszik a szolgáltatásokhoz való csatlakozás konfigurálását, hogy a Functions-gazdagép kezelje az Ön számára az adathozzáférést. További információ: Azure Functions triggerek és kötések fogalma.

Ha problémákat tapasztal a kötésekből eredő hibákkal kapcsolatban, tekintse meg a Azure Functions kötési hibakódokat dokumentációt. Ha szeretnéd megtudni, hogyan lehet biztonságosan definiálni a kapcsolatokat távoli szolgáltatásokhoz kötve, lásd: Definiálni kapcsolatokat.

Identitásalapú kapcsolatok gyakori tulajdonságai

Az Azure Functions identitásalapú kapcsolatai menedzselt identitásokat használnak hitelesítéshez. Alapértelmezés szerint a rendszer által hozzárendelt identitást használjuk, de a felhasználó által rendelt identitást is meg lehet határozni az credential és clientId tulajdonságokkal. Az identitásalapú kapcsolatok konfigurálásának teljes részleteiért, beleértve a szükséges alkalmazásbeállításokat és az RBAC jogosultságokat, lásd: Kezelt identitáskapcsolatok meghatározása.

Helyi fejlesztés identitásalapú kapcsolatokkal

Helyi futtatáskor az identitásalapú kapcsolatok a fejlesztői identitásodat (például az Azure CLI bejelentkezésedet) használják a menedzselt identitás helyett. Nem kell az credential or clientId tulajdonságokat helyi fejlesztés során beállítani. További információ: Helyi fejlesztés identitásalapú kapcsolatokkal.

Ügyfél-SDK-k

Míg a Functions kötéseket biztosít az adathozzáférés egyszerűsítésére a funkciókódban, a projektben kliens SDK-t is használhatsz közvetlenül egy adott szolgáltatáshoz való hozzáféréshez. Lehet, hogy közvetlenül kell kliens SDK-kat használnod, ha a függvényeidhez olyan funkciót kell írni, amit a binding kiterjesztés nem támogat. A függvénykódod nem fér hozzá az általad kötő kiterjesztések által használt kliensekhez. Függetlenül kell létrehoznod és kezelned kell azokat az ügyfélpéldányokat, amelyeket a funkcióidban használnod kell.

Figyelembe venni ezeket a problémákat, amikor kliens-SDK-kat hoznak létre és használunk a funkciókódodban:

  • Ugyanazt a folyamatot használjuk a kapcsolási láncok tárolására és elérésére, mint a kötési kiterjesztések. További információért lásd: Definiáld a kapcsolatokat.

  • Ha az alkalmazásodat Consumption csomagban üzemelteted, az összes példányban korlátozott a kimenő kapcsolatok teljes száma. Ez a határ azt jelenti, hogy óvatosnak kell lenned, hogy elkerüld a port kimerülését. További információért lásd: SDK klienskapcsolatok kezelése.

  • Amikor létrehozol egy kliens SDK példányt a függvényeidben, szerezd meg a kliens által szükséges kapcsolati adatokat a Környezeti változókból.
  • Amikor létrehozol egy kliens SDK példányt a függvényeidben, szerezd meg a kliens által szükséges kapcsolati adatokat a Környezeti változókból.
  • Amikor létrehozol egy kliens SDK példányt a függvényeidben, szerezd meg a kliens által szükséges kapcsolati adatokat a Környezeti változókból.
  • Amikor létrehozol egy kliens SDK példányt a függvényeidben, szerezd meg a kliens által szükséges kapcsolati adatokat a Környezeti változókból.
  • Amikor létrehozol egy kliens SDK példányt a függvényeidben, szerezd meg a kliens által szükséges kapcsolati adatokat a Környezeti változókból.

Jelentéskészítési problémák

Elem Leírás Hivatkozás
Futtatókörnyezet Szkriptgazda, Triggerek > Kötések, Nyelvi támogatás Problémafájl
Sablonok Kódproblémák a létrehozási sablonnal kapcsolatban Problémafájl

Nyílt forráskódú adattárak

Az Azure Functions kódja nyílt forráskód. A kulcsfontosságú komponenseket ezekben a GitHub tárolókban találhatod:

További információt a következő források tartalmaznak: