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 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 nyissa meg a Azure Portal, és jelentkezzen be 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 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 léphet, különösen az alkalmazásbeállításokról és a platformfunkciókról.

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 az 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, valamint az Azure CLI és a Azure PowerShell használatával kezelhetők. Az alkalmazásbeállításokat Visual Studio Code-ból és Visual Studio is kezelheti.

Az alkalmazásbeállításokat a Azure Portal Első lépések találhatja meg.

Az Alkalmazásbeállítások lap a függvényalkalmazás által használt beállításokat kezeli. Az értékeknek a 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.

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:

Amikor helyileg fejleszt függvényalkalmazást, ezeknek az értékeknek a helyi példányait a local.settings.json projektfájlban kell megőriznie. További információt a Helyi beállítások fájlban talál.

Ü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 terv típusát a Azure Portal, vagy 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 az Azure Portal függvényalkalmazás Áttekintés lapján. A tarifacsomag megtekintéséhez válassza ki a 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 megtervezása

Azure CLI-parancsokkal migrálhat egy függvényalkalmazást egy használatalapú csomag és egy Prémium csomag között Windows. Az egyes parancsok a migrálás irányától függenek. A dedikált (App Service) csomagba való közvetlen migrálás jelenleg nem támogatott.

Ez a migrálás Linux rendszeren nem támogatott.

Használat Prémium

Az alábbi eljárással migrálhat használatalapú csomagról Prémium csomagra Windows:

  1. Futtassa az az functionapp plan create parancsot az alábbiak szerint egy új App Service-csomag (Rugalmas Prémium) 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álatalapú 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 hellyel, amelyről migrált.

  4. Futtassa az az functionapp plan delete parancsot az alábbiak szerint a migrált használatalapú csomag törléséhez.

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

Prémium használatba

Az alábbi eljárással migrálhat egy Prémium-csomagból egy használatalapú csomagba Windows:

  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álatalapú 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álatalapú 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-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. Vegye figyelembe, hogy ha a csomagot nem törlik, a Prémium díjköteles. 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 a Prémium terv törléséhez, amelyből migrált.

    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 értékre van beállítva anonymous, a kérelemben 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 a Azure Portal, majd keresse meg é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 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-jához.

A minimális jogosultságot úgy is gyakorolhatja, hogy a kulcsot csak az adott függvénykulcshoz használja, ha a Http által aktivált függvény Fejlesztő területén kiválasztja a függvénykulcsokat.

Bővítmények manuális telepítése

A C#-osztálykódtár-fü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 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 az Azure-beli függvényalkalmazásban. 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 valamelyik más támogatott telepítési módszer használatával.

A Azure Portal beépített Függvényszerkesztő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őeszközök területen.
  3. Válassza ki a szerkeszteni kívánt fájlt, és válassza a Mentés gombot, amikor elkészült.

Az alkalmazás gyökerében lévő fájlokat, például a function.proj 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 toolsGo> lehetőséget.

  2. Előléptetés esetén jelentkezzen be az SCM-webhelyre az Azure-beli hitelesítő adataival.

  3. A hibakeresési konzol menüjében válassza a CMD elemet.

  4. Lépjen a lap .\site\wwwroottetejére, válassza a plusz (+) gombot, és válassza az Új fájlt.

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

  6. Kattintson az új fájl melletti Szerkesztés gombra, adja hozzá vagy frissítse a fájlban lévő kódot, majd válassza a Mentés lehetőséget.

  7. Az extensions.csproj fájlhoz hasonló projektfájl 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. Így a függvényalkalmazások hozzáférhetnek az Azure alapvető webszolgáltatási platformjának legtöbb funkciójához. A Azure Portal 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 a portál funkcióinak támogatását jelzi üzemeltetési csomag é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óira összpontosít, amelyek hasznosak a függvényalkalmazások számára:

A App Service beállításainak használatáról további információt a Azure App Service Gépház konfigurálása című témakörben talál.

App Service szerkesztő

The App Service editor

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á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. 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ód és Azure Functions helyi tesztelése.

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 könyvtár- és fájllétrehozás és a navigáció, valamint a kötegelt fájlok és szkriptek végrehajtása.

Helyi fejlesztés esetén a Azure Functions Core Tools és az Azure CLI használatát javasoljuk.

Speciális eszközök (Kudu)

Configure 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 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é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ő buildelést és üzembe helyezést. A projekt az Azure-ban lesz létrehozva és üzembe helyezve, amikor frissítéseket készít. További információ: Üzembe helyezési technológiák Azure Functions.

Eltérő eredetű erőforrások megosztása

A rosszindulatú kódvégrehajtá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. Az eltérő eredetű erőforrások megosztása (CORS) lehetővé teszi, hogy a Access-Control-Allow-Origin fejlécek deklarálják, hogy mely források hívhatnak végpontokat a függvényalkalmazásban.

Portál

Amikor konfigurálja a függvényalkalmazás engedélyezett forráslistáját , a Access-Control-Allow-Origin fejléc automatikusan hozzá lesz adva a függvényalkalmazás HTTP-végpontjaitól érkező összes válaszhoz.

Configure function app's CORS list

A helyettesítő karakter (*) használatakor a rendszer az összes többi tartományt figyelmen kívül hagyja.

az functionapp cors add A parancs használatával 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 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 első hitelesítését. App Service támogatja Azure Active Directory hitelesítést és bejelentkezést a közösségi szolgáltatókkal, például a Facebookkal, a Microsofttal és a Twitterlel. Az egyes hitelesítésszolgáltatók konfigurálásával kapcsolatos részletekért tekintse meg Azure App Service hitelesítés áttekintését.

Következő lépések