A függvényalkalmazás kezelése
Az Azure Functionsben egy függvényalkalmazás biztosítja az egyes függvények végrehajtási környezetét. A függvényalkalmazások viselkedése egy adott függvényalkalmazás által üzemeltetett összes függvényre vonatkozik. A függvényalkalmazások összes függvényének azonos nyelvűnek kell lennie.
A függvényalkalmazások egyes függvényei együtt vannak üzembe helyezve, és együtt vannak skálázva. Az ugyanabban a függvényalkalmazásban lévő összes függvény példányonként megosztja az erőforrásokat, ahogy a függvényalkalmazás méretez.
A kapcsolati sztringek, a környezeti változók és az egyéb alkalmazásbeállítások külön vannak definiálva az egyes függvényalkalmazásokhoz. Minden olyan adatot, amelyet meg kell osztani a függvényalkalmazások között, külsőleg kell tárolni egy fenntartott tárolóban.
Első lépések az Azure Portalon
Feljegyzés
Az Azure Portal függvénykódjának szerkesztésére vonatkozó korlátozások miatt helyileg kell fejlesztenie a függvényeket, és közzé kell tennie a kódprojektet egy Azure-beli függvényalkalmazásban. További információ: Fejlesztési korlátozások az Azure Portalon
A függvényalkalmazás alkalmazásbeállításainak megtekintéséhez kövesse az alábbi lépéseket:
Jelentkezzen be az Azure Portalra Azure-fiókjával. Keresse meg a függvényalkalmazást, és válassza ki.
A függvényalkalmazás bal oldali ablaktábláján bontsa ki a Beállítások elemet, válassza a Környezeti változók lehetőséget, majd válassza az Alkalmazásbeállítások lapot.
Alkalmazásbeállítások használata
Az Azure Functions által előre definiált alkalmazásbeállítások mellett tetszőleges számú alkalmazásbeállítást is létrehozhat, a függvénykódnak megfelelően. További információkért tekintse meg az Azure Functions alkalmazásbeállításokra vonatkozó hivatkozását.
Ezek a beállítások titkosítva vannak tárolva. További információ: Alkalmazásbeállítások biztonsága.
Az alkalmazásbeállításokat az Azure Portalon, valamint az Azure CLI és az Azure PowerShell használatával kezelheti. Az alkalmazásbeállításokat a Visual Studio Code-ból és a Visual Studióból is kezelheti.
Az alkalmazásbeállítások megtekintéséhez tekintse meg az Első lépések az Azure Portalon című témakört.
Az Alkalmazásbeállítások lap a függvényalkalmazás által használt beállításokat tartja karban:
Alkalmazásbeállítások használata
A függvényalkalmazás beállításainak értékei környezeti változókként is olvashatók a kódban. További információkért tekintse meg az alábbi nyelvspecifikus referenciacikkek Környezeti változók szakaszát:
Ha helyileg fejleszt függvényalkalmazást, ezeknek az értékeknek a helyi másolatát a local.settings.json projektfájlban kell megőriznie. További információt a Helyi beállítások fájlban talál.
FTPS üzembehelyezési beállítások
Az Azure Functions az FTPS használatával támogatja a projektkód üzembe helyezését a függvényalkalmazásban. Mivel ez az üzembe helyezési módszer megköveteli az eseményindítók szinkronizálását, nem ajánlott. A projektfájlok biztonságos átviteléhez mindig FTPS-t használjon, és ne FTP-t.
Az FTPS üzembe helyezéséhez szükséges hitelesítő adatok beszerzéséhez használja az alábbi módszerek egyikét:
Az FTPS közzétételi hitelesítő adatait az Azure Portalon szerezheti be a függvényalkalmazás közzétételi profiljának letöltésével.
Fontos
A közzétételi profil fontos biztonsági hitelesítő adatokat tartalmaz. Mindig gondoskodjon a letöltött fájl védelméről a helyi számítógépen.
A függvényalkalmazás közzétételi profiljának letöltése:
Az Azure Portalon keresse meg a függvényalkalmazás lapját, és bontsa ki a Beállítások>konfigurációja lehetőséget a bal oldali oszlopban.
A Konfiguráció lapon válassza az Általános beállítások lapot, és győződjön meg arról, hogy be van kapcsolva az SCM alapszintű hitelesítés-közzétételi hitelesítő adatai. Ha ez a beállítás ki van kapcsolva, nem használhat közzétételi profilokat, ezért válassza a Be , majd a Mentés lehetőséget.
Lépjen vissza a függvényalkalmazás Áttekintés lapjára, majd válassza a Közzétételi profil lekérése lehetőséget.
Mentse és másolja a fájl tartalmát.
- A fájlban keresse meg az
publishProfile
attribútumotpublishMethod="FTP"
tartalmazó elemet. Ebben az elemben apublishUrl
,userName
ésuserPWD
attribútumok tartalmazzák az FTPS-közzététel cél URL-címét és hitelesítő adatait.
Üzemeltetési terv típusa
Függvényalkalmazás létrehozásakor egy üzemeltetési tervet is létrehoz, amelyben az alkalmazás fut. Egy csomag egy vagy több függvényalkalmazással is rendelkezhet. A függvények funkciói, skálázása és díjszabása a csomag típusától függ. További információt az Azure Functions üzemeltetési lehetőségeit ismertető cikkben talál.
A függvényalkalmazás által használt terv típusát az Azure Portalon, vagy az Azure CLI vagy az Azure PowerShell API-k használatával határozhatja meg.
A következő értékek jelzik a terv típusát:
Konstrukció típusa | Azure Portal | Azure CLI/PowerShell |
---|---|---|
Fogyasztás | Fogyasztás | Dynamic |
Prémium | ElasticPremium | ElasticPremium |
Dedikált (App Service) | Különböző | Különböző |
A függvényalkalmazás által használt terv típusának meghatározásához tekintse meg az App Service-csomagot a függvényalkalmazás Áttekintés lapján az Azure Portalon.
A tarifacsomag megtekintéséhez válassza ki az App Service-csomag nevét, majd a bal oldali panelen válassza a Beállítások > tulajdonságai lehetőséget .
Migrálás tervezése
A függvényalkalmazásokat áttelepítheti egy Használati csomag és egy Prémium szintű csomag között Windows rendszeren. A tervek közötti migrálás során tartsa szem előtt a következő szempontokat:
- A dedikált (App Service-) csomagba való közvetlen migrálás nem támogatott.
- A migrálás Linuxon nem támogatott.
- A forrástervnek és a céltervnek ugyanabban az erőforráscsoportban és földrajzi régióban kell lennie. További információ: Alkalmazás áthelyezése másik App Service-csomagba.
- Az adott PARANCSSOR-parancsok a migrálás irányától függenek.
- A függvényvégrehajtások állásideje a függvényalkalmazás csomagok közötti migrálása során következik be.
- Az állapot- és egyéb alkalmazásspecifikus tartalmak megmaradnak, mivel az alkalmazás ugyanazt az Azure Files-megosztást használja a migrálás előtt és után is.
A csomagot az alábbi eszközökkel migrálhatja:
Az Azure Portal használatával másik csomagra válthat.
Válassza ki az alkalmazás áttelepítési irányát Windows rendszeren.
Fejlesztési korlátozások az Azure Portalon
Vegye figyelembe ezeket a korlátozásokat, amikor függvényeket fejleszt az Azure Portalon:
- A portálon belüli szerkesztés csak az Azure Portalon létrehozott vagy legutóbb módosított függvények esetében támogatott.
- A portálon belüli szerkesztés csak JavaScript-, PowerShell-, Python- és C#-szkriptfüggvényekhez támogatott.
- A portálon belüli szerkesztés nem támogatott a Flex Consumption csomag előzetes kiadásában.
- Amikor kódot helyez üzembe egy függvényalkalmazásban az Azure Portalon kívülről, a továbbiakban nem szerkesztheti az adott függvényalkalmazás kódját a portálon. Ebben az esetben csak folytassa a helyi fejlesztést.
- Python esetén az egyéni modulokkal való fejlesztés jelenleg nem támogatott a portálon. Ha egyéni modulokat szeretne hozzáadni a függvényalkalmazáshoz, helyileg kell fejlesztenie az alkalmazást.
- Lefordított C#-függvényekhez és Java-függvényekhez létrehozhatja a függvényalkalmazást és a kapcsolódó erőforrásokat a portálon. A függvénykódprojektet azonban helyileg kell létrehoznia, majd közzé kell tennie az Azure-ban.
Ha lehetséges, helyileg fejlesztheti a függvényeket, és közzéteheti a kódprojektet egy Azure-beli függvényalkalmazásban. További információkért lásd az Azure Functions helyi kódját és tesztelését.
Bővítmények manuális telepítése
A C# osztálytárfüggvények közvetlenül az osztálytárprojektben tartalmazhatják a kötési bővítmények NuGet-csomagjait. Más non-.NET nyelvekhez és C#-szkriptekhez bővítménycsomagokat kell használnia. Ha manuálisan kell telepítenie a bővítményeket, ezt az Azure Functions Core Tools helyi használatával teheti meg. Ha nem tud bővítménycsomagokat használni, és csak a portálon tud dolgozni, akkor az Advanced Tools (Kudu) használatával manuálisan kell létrehoznia a extensions.csproj fájlt közvetlenül a webhelyen. Először távolítsa el az elemet a extensionBundle
host.json fájlból.
Ugyanez a folyamat minden más fájl esetében működik, amit hozzá kell adnia az alkalmazáshoz.
Fontos
Ha lehetséges, ne szerkessze közvetlenül a fájlokat a függvényalkalmazásban az Azure-ban. Javasoljuk, hogy töltse le az alkalmazásfájlokat helyileg, a Core Tools használatával bővítményeket és más csomagokat telepíthet, érvényesítse a módosításokat, majd tegye közzé újra az alkalmazást a Core Tools vagy a többi támogatott telepítési módszer használatával.
Az Azure Portal beépített Functions-szerkesztője lehetővé teszi a függvénykód és a konfigurációs fájlok frissítését közvetlenül a portálon:
Válassza ki a függvényalkalmazást, majd a Függvények területen válassza a Függvények lehetőséget.
Válassza ki a függvényt, és válassza a Kód + teszt lehetőséget a Fejlesztőeszközök területen.
Válassza ki a szerkeszteni kívánt fájlt, majd a Befejezéskor válassza a Mentés lehetőséget.
Az alkalmazás gyökerében lévő fájlokat( például function.proj vagy extensions.csproj) a Speciális eszközök (Kudu) használatával kell létrehozni és szerkeszteni:
Válassza ki a függvényalkalmazást, bontsa ki a fejlesztői eszközöket, majd válassza a Speciális eszközök>ugrása lehetőséget.
Ha a rendszer kéri, jelentkezzen be a Source Control Manager (SCM) webhelyre az Azure-beli hitelesítő adataival.
A hibakeresési konzol menüjében válassza a CMD lehetőséget.
Lépjen a lap
.\site\wwwroot
tetejére, válassza a plusz (+) gombot, majd az Új fájlt.Adjon nevet a fájlnak, például
extensions.csproj
, majd nyomja le az Enter billentyűt.Válassza az új fájl melletti szerkesztés gombot, adja hozzá vagy frissítse a fájlban a kódot, majd válassza a Mentés lehetőséget.
A bővítményprojekt újraépítéséhez futtassa a következő parancsot egy olyan projektfájl esetében, mint a extensions.csproj:
dotnet build extensions.csproj
Platformfunkciók
A függvényalkalmazások a Azure-alkalmazás szolgáltatásplatformon futnak, amely fenntartja őket. Így a függvényalkalmazások hozzáférhetnek az Azure alapvető webes üzemeltetési platformjának legtöbb funkciójához. Az Azure Portal használatakor a bal oldali panelen érheti el az App Service-platform számos funkcióját, amelyet a függvényalkalmazásokban használhat.
Az alábbi mátrix az Azure Portal szolgáltatástámogatását jelzi üzemeltetési terv és operációs rendszer alapján:
Szolgáltatás | Használatalapú csomag | Rugalmas kihasználtságú csomag | Prémium szintű csomag | Dedikált terv |
---|---|---|---|---|
Speciális eszközök (Kudu) | Windows: ✔ Linux: X |
X | ✔ | ✔ |
App Service-szerkesztő | Windows: ✔ Linux: X |
X | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Biztonsági másolatok | X | X | X | ✔ |
Console | Windows: parancssor Linux: X |
X | Windows: parancssor Linux: SSH |
Windows: parancssor Linux: SSH |
A cikk további része a portál alábbi funkcióival foglalkozik, amelyek hasznosak a függvényalkalmazások számára:
- App Service-szerkesztő
- Console
- Speciális eszközök (Kudu)
- Üzembe helyezési lehetőségek
- CORS
- Hitelesítés
További információ az App Service-beállítások használatáról: Azure-alkalmazás szolgáltatásbeállítások konfigurálása.
App Service-szerkesztő
Az App Service-szerkesztő egy speciális portálon belüli szerkesztő, amellyel ugyanúgy módosíthatja a JSON-konfigurációs fájlokat és a kódfájlokat. Ha ezt a lehetőséget választja, egy külön böngészőlapot indít el egy alapszintű szerkesztővel. Ez a szerkesztő lehetővé teszi a Git-adattár integrálását, a kód futtatását és hibakeresését, valamint a függvényalkalmazás beállításainak módosítását. Ez a szerkesztő továbbfejlesztett fejlesztési környezetet biztosít a függvényekhez a beépített függvényszerkesztőhöz képest.
Javasoljuk, hogy fontolja meg a függvények fejlesztését a helyi számítógépen. A helyi fejlesztéskor és az Azure-ban való közzétételkor a projektfájlok írásvédettek lesznek az Azure Portalon. További információkért lásd az Azure Functions helyi kódját és tesztelését.
Console
A portálon belüli konzol ideális fejlesztői eszköz, ha inkább a parancssorból szeretné használni a függvényalkalmazást. A gyakori parancsok közé tartozik a címtár és a fájllétrehozás és a navigáció, valamint a kötegelt fájlok és szkriptek végrehajtása.
Helyi fejlesztéskor az Azure Functions Core Tools és az Azure CLI használatát javasoljuk.
Speciális eszközök (Kudu)
Az App Service speciális eszközei (más néven Kudu) hozzáférést biztosítanak a függvényalkalmazás speciális felügyeleti funkcióihoz. A Kuduban rendszerinformációkat, alkalmazásbeállításokat, környezeti változókat, webhelybővítményeket, HTTP-fejléceket és kiszolgálóváltozókat kezelhet. A Kudu elindításához keresse meg a függvényalkalmazás SCM-végpontját, például: https://<myfunctionapp>.scm.azurewebsites.net/
.
Üzembe helyezési központ
Ha forrásvezérlő megoldást használ a függvénykód fejlesztésére és karbantartására, az Üzembe helyezési központ lehetővé teszi a forrásvezérlőből történő buildelést és üzembe helyezést. A projekt létrehozása és üzembe helyezése az Azure-ban frissítések készítésekor történik. További információ: Üzembehelyezési technológiák az Azure Functionsben.
Eltérő eredetű erőforrások megosztása
Annak érdekében, hogy megakadályozza a rosszindulatú kódfuttatást az ügyfélen, a modern böngészők letiltják a webalkalmazások kéréseit egy külön tartományban futó erőforrásokra. A forrásközi erőforrásmegosztás (CORS) lehetővé teszi, hogy a Access-Control-Allow-Origin
fejléc deklarálja, hogy mely források hívhatják meg a végpontokat a függvényalkalmazásban.
Amikor konfigurálja a függvényalkalmazás engedélyezett forráslistáját , a rendszer automatikusan hozzáadja a Access-Control-Allow-Origin
fejlécet a függvényalkalmazás HTTP-végpontjaitól érkező összes válaszhoz.
Ha van egy másik tartománybejegyzés, a helyettesítő karakter (*) figyelmen kívül lesz hagyva.
Hitelesítés
Ha a függvények HTTP-eseményindítót használnak, megkövetelheti a hívások hitelesítését. Az App Service támogatja a Microsoft Entra hitelesítést és a közösségi szolgáltatókkal való bejelentkezést, például a Facebookot, a Microsoftot és az X-et. Az egyes hitelesítésszolgáltatók konfigurálásával kapcsolatos információkért tekintse meg Azure-alkalmazás szolgáltatáshitelesítés áttekintését.