A függvényalkalmazás kezelése
A Azure Functions 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 az 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 osztozik az erőforrásokon, ahogy a függvényalkalmazás méretezhető.
A kapcsolati sztringek, a környezeti változók és az egyéb alkalmazásbeállítások külön-külön vannak meghatározva 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 megőrzött tárolóban.
Első lépések az Azure Portalon
Először lépjen a Azure Portal, és jelentkezzen be az Azure-fiókjába. A portál tetején található keresősávban adja meg a függvényalkalmazás nevét, és válassza ki a listából.
A bal oldali panel Beállítások területén válassza a Konfiguráció lehetőséget.
A függvényalkalmazás kezeléséhez szükséges összes elemre az áttekintési oldalról navigálhat, különös tekintettel az alkalmazásbeállításokra és a platformfunkciókra.
Alkalmazásbeállítások használata
A függvénykódhoz szükséges tetszőleges számú alkalmazásbeállítást létrehozhat. A Functions előre definiált alkalmazásbeállításokat is használ. További információért tekintse meg a Azure Functions alkalmazásbeállításokra vonatkozó referenciájá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ások az Azure Portal és az Azure CLI és az Azure PowerShell használatával kezelhetők. 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ásokat az Első lépések a Azure Portal című témakörben találja.
Az Alkalmazásbeállítások lap a függvényalkalmazás által használt beállításokat kezeli. Az értékek portálon való megtekintéséhez az Értékek megjelenítése lehetőséget kell választania. Ha hozzá szeretne adni egy beállítást a portálon, válassza az Új alkalmazásbeállítás lehetőséget, és adja hozzá az új kulcs-érték párt.
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 a nyelvspecifikus referenciatémakörök Környezeti változók szakaszát:
Amikor helyileg fejleszt függvényalkalmazást, a local.settings.json projektfájlban meg kell őriznie ezeknek az értékeknek a helyi másolatait. További információ: Helyi beállítások fájlja.
Üzemeltetési csomag típusa
Függvényalkalmazás létrehozásakor egy üzemeltetési csomagot 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ó: Azure Functions üzemeltetési lehetőségek.
A függvényalkalmazás által használt csomag típusát a Azure Portal, illetve az Azure CLI vagy Azure PowerShell API-k használatával határozhatja meg.
A következő értékek jelzik a terv típusát:
Csomag típusa | Portál | Azure CLI/PowerShell |
---|---|---|
Használat | Használat | 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 App Service tervet a Azure Portal függvényalkalmazás Áttekintés lapján. A tarifacsomag megtekintéséhez válassza ki a csomag App Service nevét, majd a bal oldali panelen válassza a Tulajdonságok lehetőséget.
Migrálás tervezése
A Azure Portal vagy az Azure CLI-parancsokkal migrálhat egy függvényalkalmazást egy használatalapú csomag és egy Prémium csomag között Windows rendszeren. A tervek közötti migráláskor vegye figyelembe az alábbi szempontokat:
- A dedikált (App Service) csomagba való közvetlen migrálás jelenleg 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 CLI-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ásával történik.
- Az állapot- és más alkalmazásspecifikus tartalmak megmaradnak, mivel az alkalmazás ugyanazt a Azure Files megosztást használja a migrálás előtt és után is.
Migrálás a portálon
A Azure Portal lépjen a Használat vagy Prémium csomag alkalmazásra, és válassza a App Service csomag módosításalehetőséget App Service csomag alatt. Válassza ki a másik csomagtípust, hozzon létre egy új App Service új típusú tervet, majd kattintson az OK gombra. További információ: Alkalmazás áthelyezése másik App Service csomagba.
Használat prémium szintre
A következő eljárással migrálhat használatalapú csomagról Prémium szintű csomagra Windows rendszeren:
Futtassa az az functionapp plan create parancsot az alábbiak szerint egy új App Service csomag (Elastic Premium) létrehozásához ugyanabban a régióban és erőforráscsoportban, mint a meglévő függvényalkalmazás:
az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
Futtassa az az functionapp update parancsot az alábbiak szerint a meglévő függvényalkalmazás új Prémium csomagba való migrálásához:
az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
Ha már nincs szüksége a korábbi Használat függvényalkalmazás-csomagra, törölje az eredeti függvényalkalmazás-csomagot, miután meggyőződett arról, hogy sikeresen migrált az újra. Futtassa az az functionapp plan list parancsot az alábbi módon az erőforráscsoportban található összes használatalapú csomag listájának lekéréséhez:
az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
Biztonságosan törölheti a csomagot nulla helytel, amelyről migrált.
Futtassa az az functionapp plan delete parancsot az alábbiak szerint a használatalapú csomag törléséhez.
az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
Prémiumtól a felhasználásig
Az alábbi eljárással migrálhat Prémium csomagból használati csomagba Windows rendszeren:
Futtassa az az functionapp plan create parancsot az alábbiak szerint egy új függvényalkalmazás (Használat) létrehozásához ugyanabban a régióban és erőforráscsoportban, mint a meglévő függvényalkalmazás. Ez a parancs egy új használati csomagot is létrehoz, amelyben a függvényalkalmazás fut.
az functionapp create --resource-group <MY_RESOURCE_GROUP> --name <NEW_CONSUMPTION_APP_NAME> --consumption-plan-location <REGION> --runtime dotnet --functions-version 3 --storage-account <STORAGE_NAME>
Futtassa az az functionapp update parancsot az alábbiak szerint a meglévő függvényalkalmazás új Használat csomagba való migrálásához.
az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
Futtassa az az functionapp delete parancsot az 1. lépésben létrehozott függvényalkalmazás törléséhez, mivel csak a meglévő függvényalkalmazás futtatásához létrehozott csomagra van szüksége.
az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
Ha már nincs szüksége a korábbi Prémium szintű függvényalkalmazás-csomagra, törölje az eredeti függvényalkalmazás-csomagot, miután megerősítette, hogy sikeresen áttelepítette az újra. Vegye figyelembe, hogy ha a csomag nem törlődik, a prémium csomagért továbbra is díjat számítunk fel. Futtassa az az functionapp plan list parancsot az alábbi módon az erőforráscsoportban található összes Prémium csomag listájának lekéréséhez.
az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
Futtassa az az functionapp plan delete parancsot az alábbiak szerint az áttelepített Prémium csomag törléséhez.
az functionapp plan delete --name <PREMIUM_PLAN> --resource-group <MY_RESOURCE_GROUP>
A függvény hozzáférési kulcsának lekérése
A HTTP által aktivált függvények általában a következő formátumú URL-címmel hívhatók meg: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>
. Ha a függvény engedélyének értéke nem anonymous
a , akkor a kérésben meg kell adnia egy hozzáférési kulcsot is. A hozzáférési kulcs megadható az URL-címben a lekérdezési sztringgel vagy a ?code=
kérés fejlécében. További információ: Függvényelérési kulcsok. A hozzáférési kulcsokat többféleképpen is lekérheti.
Jelentkezzen be a Azure Portal, majd keressen rá, és válassza a Függvényalkalmazás lehetőséget.
Jelölje ki az ellenőrizni kívánt függvényt.
A Bal oldali navigációs sáv Függvények területén válassza az Alkalmazáskulcsok lehetőséget.
Ez visszaadja a gazdagépkulcsokat, amelyek az alkalmazás bármely függvényének elérésére használhatók. A rendszerkulcsot is visszaadja, amely rendszergazdai szintű hozzáférést biztosít az összes függvényalkalmazás API-hoz.
A minimális jogosultságot úgy is gyakorolhatja, ha a kulcsot csak az adott függvénykulcshoz használja, ha a Http-aktivált függvény Fejlesztő csoportjában a Függvénykulcsok lehetőséget választja.
Bővítmények manuális telepítése
A C# osztálykódtár-függvények közvetlenül az osztálytár projektbe foglalhatják a kötési bővítmények NuGet-csomagjait. Más non-.NET nyelvek és C#-szkriptek esetén a bővítmények telepítésének ajánlott módja a bővítménycsomagok használata, vagy a Azure Functions Core Tools helyi használata. Ha nem tud bővítménycsomagokat használni, és csak a portálon tud dolgozni, a Speciális eszközök (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.
Ez 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 helyileg töltse le az alkalmazásfájlokat, a Core Tools használatával telepítse a bővítményeket és más csomagokat, ellenőrizze 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.
A Azure Portal beépített Functions-szerkesztővel közvetlenül a portálon frissítheti a függvénykód- és konfigurációs (function.json) fájlokat.
- 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ő területen.
- Válassza ki a szerkeszteni kívánt fájlt, és ha elkészült, válassza a Mentés lehetőséget.
Az alkalmazás gyökerében lévő fájlokat, például a function.proj fájlt vagy az extensions.csproj fájlt a Speciális eszközök (Kudu) használatával kell létrehozni és szerkeszteni.
Válassza ki a függvényalkalmazást, majd a Fejlesztési eszközök területen válassza a Speciális eszközök>Ugrás lehetőséget.
Ha a rendszer kéri, jelentkezzen be az 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 lapra
.\site\wwwroot
, válassza a felső plusz (+) gombot, és válassza az Új fájl lehetőséget.Nevezze el a fájlt, például
extensions.csproj
, és nyomja le az Enter billentyűt.Válassza a szerkesztés gombot az új fájl mellett, adja hozzá vagy frissítse a kódot a fájlban, majd válassza a Mentés lehetőséget.
Az extensions.csproj fájlhoz hasonló projektfájlok esetében futtassa a következő parancsot a bővítményprojekt újraépítéséhez:
dotnet build extensions.csproj
Platformfunkciók
A függvényalkalmazások a Azure App Service platformon futnak és tartják karban. Ezért a függvényalkalmazások hozzáférhetnek az Azure alapvető webszolgáltatási platformjának legtöbb funkciójához. Amikor a Azure Portal dolgozik, a bal oldali panelen érheti el a függvényalkalmazásokban használható App Service platform számos funkcióját.
Az alábbi mátrix azt jelzi, hogy a portál szolgáltatástámogatása üzemeltetési csomag és operációs rendszer alapján történik:
Szolgáltatás | Használatalapú csomag | Prémium szintű csomag | Dedikált terv |
---|---|---|---|
Speciális eszközök (Kudu) | Windows: ✔ Linux: X |
✔ | ✔ |
App Service szerkesztő | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Biztonsági másolatok | X | X | ✔ |
Console | Windows: parancssor Linux: X |
Windows: parancssor Linux: SSH |
Windows: parancssor Linux: SSH |
A cikk további részében a portál alábbi funkcióira összpontosítunk, 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ó a App Service beállításainak használatáról: Azure App Service beállításainak konfigurálása.
App Service szerkesztő
A App Service szerkesztő egy speciális portálon belüli szerkesztő, amellyel JSON-konfigurációs fájlokat és kódfájlokat is módosíthat. Ha ezt a lehetőséget választja, egy külön böngészőlapot indít el egy alapszintű szerkesztővel. Ez 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és és az Azure-ban való közzététel során a projektfájlok írásvédettek lesznek a portálon. További információt a Helyi kód és tesztelés Azure Functions című témakörben talál.
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 fájllétrehozás és -navigáció, valamint a kötegelt fájlok és szkriptek végrehajtása.
A helyi fejlesztés során a Azure Functions Core Tools és az Azure CLI használatát javasoljuk.
Speciális eszközök (Kudu)
A App Service (más néven Kudu) speciális eszközei 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 kezel. 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ési 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ő létrehozást és üzembe helyezést. A projekt létrehozása és üzembe helyezése az Azure-ban, amikor frissítéseket készít. További információ: Üzembehelyezési technológiák Azure Functions.
Eltérő eredetű erőforrások megosztása
A rosszindulatú kódfuttatás megakadályozása érdekében 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ás-megosztás (CORS) lehetővé teszi, hogy a Access-Control-Allow-Origin
fejlécek deklarálják, hogy mely források hívhatják meg a végpontokat a függvényalkalmazásban.
Portál
Amikor konfigurálja a függvényalkalmazás engedélyezett forráslistáját , a fejléc automatikusan hozzáadódik a Access-Control-Allow-Origin
függvényalkalmazás HTTP-végpontjaitól érkező összes válaszhoz.
A helyettesítő karakter (*
) használata esetén a rendszer minden más tartományt figyelmen kívül hagy.
az functionapp cors add
A paranccsal tartományt adhat hozzá az engedélyezett forráslistához. Az alábbi példa hozzáadja a contoso.com tartományt:
az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com
az functionapp cors show
Az paranccsal listázhatja az aktuálisan engedélyezett forrásokat.
Hitelesítés
Ha a függvények HTTP-eseményindítót használnak, megkövetelheti a hívások első hitelesítését. App Service támogatja az Azure Active Directory-hitelesítést és a közösségi szolgáltatókkal való bejelentkezést, például a Facebookot, a Microsoftot és a Twittert. Az egyes hitelesítésszolgáltatók konfigurálásával kapcsolatos részletekért lásd: Azure App Service hitelesítés áttekintése.