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

  1. 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.

  2. A bal oldali panel Beállítások területén válassza a Konfiguráció lehetőséget.

    A függvényalkalmazások áttekintése a Azure Portal

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.

Függvényalkalmazás-beállítások a Azure Portal.

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.

Skálázási terv megtekintése a portálon

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:

  1. 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
    
  2. 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>
    
  3. 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.

  4. 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:

  1. 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>
    
  2. 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
    
  3. 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>
    
  4. 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
    
  5. 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 anonymousa , 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.

  1. Jelentkezzen be a Azure Portal, majd keressen rá, és válassza a Függvényalkalmazás lehetőséget.

  2. Jelölje ki az ellenőrizni kívánt függvényt.

  3. 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.

  1. Válassza ki a függvényalkalmazást, majd a Függvények területen válassza a Függvények lehetőséget.
  2. Válassza ki a függvényt, és válassza a Kód + teszt lehetőséget a Fejlesztő területen.
  3. 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.

  1. 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.

  2. Ha a rendszer kéri, jelentkezzen be az SCM-webhelyre az Azure-beli hitelesítő adataival.

  3. A Hibakeresési konzol menüjében válassza a CMD lehetőséget.

  4. Lépjen a lapra .\site\wwwroot, válassza a felső plusz (+) gombot, és válassza az Új fájl lehetőséget.

  5. Nevezze el a fájlt, például extensions.csproj , és nyomja le az Enter billentyűt.

  6. 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.

  7. 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:

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ő

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

Függvényalkalmazás konzolja

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 Kudu konfigurálása

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.

Függvényalkalmazás CORS-listájának konfigurálása

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

Függvényalkalmazás hitelesítésének konfigurálása

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.

Következő lépések