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.

Csatlakozás ion-sztringek, környezeti változók és 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

  1. Először jelentkezzen be az Azure Portalra az Azure-fiókjával. A portál tetején található keresősávon adja meg a függvényalkalmazás nevét, és válassza ki a listából.

  2. A bal oldali panel Gépház területén válassza a Konfiguráció lehetőséget.

    Function app overview in the 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ó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ások az Azure Portalról, valamint 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ások megkeresé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 kezeli. Az értékek portálon való megjeleníté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árot.

Function app settings in the 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 az alábbi nyelvspecifikus referenciatémakörök 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 eseményindítók szinkronizálását igényli, ez a módszer 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ő adatokat az alábbi módszerek egyikével szerezheti be:

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. A letöltött fájlt mindig biztonságossá kell tenni a helyi számítógépen.

A függvényalkalmazás közzétételi profiljának letöltése:

  1. Válassza a függvényalkalmazás Áttekintés lapját, majd válassza a Közzétételi profil lekérése lehetőséget.

    Download publish profile

  2. Mentse és másolja a fájl tartalmát.

  1. A fájlban keresse meg az publishProfile attribútumot publishMethod="FTP"tartalmazó elemet. Ebben az elemben a publishUrl, userNameés userPWD 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ókért tekintse meg az Azure Functions üzemeltetési lehetőségeit.

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 Portál 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 csomag típusának meghatározásához tekintse meg az App Service-csomagot az Azure Portal függvényalkalmazásának Áttekintés lapján. A tarifacsomag megtekintéséhez válassza ki az App Service-csomag nevét, majd a bal oldali panelen válassza a Tulajdonságok lehetőséget .

View scaling plan in the portal

Migrálás tervezése

Az Azure Portal vagy az Azure CLI parancsaival migrálhat egy függvényalkalmazást egy Használati csomag és egy Prémium 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 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 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 ugyanazt az Azure Files-megosztást használja az alkalmazás a migrálás előtt és után is.

Migrálás a portálon

Az Azure Portalon lépjen a Használat vagy Prémium csomag alkalmazásra, és válassza az App Service-csomag módosítása lehetőséget az App Service-csomag alatt. Válassza ki a másik csomagtípust, hozzon létre egy új App Service-csomagot az új típusból, és válassza az OK gombot. További információ: Alkalmazás áthelyezése másik App Service-csomagba.

Fogyasztás prémium szintre

A következő eljárással migrálhat egy használatalapú csomagból egy Prémium csomagba 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ődött arról, hogy sikeresen áttelepítette az újra. Futtassa az az functionapp plan list parancsot az alábbiak szerint az erőforráscsoport összes fogyasztási csomagjának 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 migrált használati terv törléséhez.

    az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
    

Prémiumtól a felhasználásig

A következő 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 tervet 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 áttelepítéséhez az új Használat csomagba.

    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 Premium-függvényalkalmazás-csomagra, törölje az eredeti függvényalkalmazás-csomagot, miután meggyőződött arról, hogy sikeresen áttelepítette az újra. A Prémium csomag törléséig továbbra is fizetnie kell érte. Futtassa az az functionapp plan list parancsot az alábbiak szerint az erőforráscsoport összes Prémium csomagjának 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 hitelesítése nem anonymousérték, 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 sztring ?code= használatával vagy a kérelem 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 az Azure Portalra, majd keresse meg és válassza a függvényalkalmazást.

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

  3. A Függvények alatti bal oldali navigációs sávon 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éhez 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, hogy csak az adott függvénykulcshoz használja a kulcsot, ha a Http-aktivált függvény fejlesztője területén a Függvénykulcsok lehetőséget választja.

Fejlesztési korlátozások az Azure Portalon

A függvények Azure Portalon történő fejlesztésekor figyelembe kell vennie ezeket a korlátozásokat:

  • A portálon belüli szerkesztés csak JavaScript-, PowerShell-, Python- és C#-szkriptfüggvényekhez támogatott.
  • A Python portálon belüli szerkesztése csak akkor támogatott, ha a Használat csomagban fut.
  • A portálon belüli szerkesztés jelenleg csak a portálon létrehozott vagy legutóbb módosított függvények esetében támogatott.
  • Amikor kódot helyez üzembe egy függvényalkalmazásban a portálon 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.
  • A lefordított C# függvényekhez, a Java-függvényekhez és néhány Python-függvényhez 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 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ó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 a fájlokat közvetlenül 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.

  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őeszközök 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-t vagy a extensions.csproj-t 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ása 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 lap .\site\wwwroottetejére, válassza a plusz (+) gombot, majd az Új fájlt.

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

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

  7. 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 és karbantartják. Így a függvényalkalmazások hozzáférhetnek az Azure alapvető webes üzemeltetési platformjának legtöbb funkciójához. Amikor az Azure Portalon dolgozik, 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 a portál funkcióinak támogatását jelzi üzemeltetési terv és operációs rendszer alapján:

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észe a portál alábbi funkcióival foglalkozik, amelyek hasznosak a függvényalkalmazások számára:

További információ az App Service-beállítások használatáról: Azure-alkalmazás Szolgáltatás Gépház konfigurálása.

App Service-szerkesztő

The App Service editor

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 lehetővé teszi a Git-adattárral való integráció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 a portálon. További információkért lásd az Azure Functions helyi kódját és tesztelését.

Console

Function app 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)

Configure 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áulhttps://<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.

Portál

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.

Configure function app's CORS list

A helyettesítő karakter (*) figyelmen kívül lesz hagyva, ha van egy másik tartománybejegyzés.

az functionapp cors add A paranccsal tartományt vehet fel az engedélyezett forráslistára. 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 A parancs használatával listázhatja az aktuálisan engedélyezett forrásokat.

Hitelesítés

Configure authentication for a function app

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 a Twittert. Az egyes hitelesítésszolgáltatók konfigurálásával kapcsolatos részletekért tekintse meg Azure-alkalmazás szolgáltatáshitelesítés áttekintését.

Következő lépések