Megosztás a következőn keresztül:


Üzembehelyezési technológiák az Azure Functionsben

Az Azure Functions-projektkód azure-ban való üzembe helyezéséhez használhat néhány különböző technológiát. Ez a cikk áttekintést nyújt az Ön számára elérhető üzembehelyezési módszerekről, és javaslatokat tartalmaz a különböző forgatókönyvekben használható legjobb módszerre. Emellett az alapul szolgáló üzembehelyezési technológiák teljes listáját és főbb részleteit is tartalmazza.

Üzembe helyezési módszerek

A kód azure-beli függvényalkalmazásban való közzétételéhez használt üzembehelyezési technológia az Ön konkrét igényeitől és a fejlesztési ciklus pontjától függ. A fejlesztés és tesztelés során például közvetlenül a fejlesztői eszközről, például a Visual Studio Code-ból telepítheti az üzembe helyezést. Ha az alkalmazás éles környezetben van, nagyobb valószínűséggel teszi közzé folyamatosan a forráskövetésből vagy egy automatizált közzétételi folyamattal, amely magában foglalhatja az érvényesítést és a tesztelést is.

Az alábbi táblázat a kódprojekthez elérhető üzembehelyezési módszereket ismerteti.

Üzemelő példány típusa Metódusok A legjobb...
Eszközökre épülő Visual Studio Code közzététele
Visual Studio közzététel
A Core Tools közzététele
Üzembe helyezés a fejlesztés és egyéb improvizált üzemelő példányok során. A kód igény szerinti üzembe helyezése helyi fejlesztési eszközökkel.
App Service által felügyelt Központi telepítési központ (CI/CD)
Tárolótelepítések
Folyamatos üzembe helyezés (CI/CD) forrásvezérlőből vagy tárolóregisztrációs adatbázisból. Az üzembe helyezéseket az App Service platform (Kudu) felügyeli.
Külső folyamatok Azure Pipelines
GitHub Actions
Olyan éles folyamatok, amelyek magukban foglalják az ellenőrzést, a tesztelést és az automatizált üzembe helyezés részeként futtatandó egyéb műveleteket. Az üzembe helyezéseket a folyamat felügyeli.

Az egyes üzemelő példányoknak az adott forgatókönyv alapján a legjobb technológiát kell használniuk. Az üzembe helyezési módszerek közül sok a zip-alapú üzembe helyezésen alapul, ami az üzembe helyezéshez ajánlott.

Üzembehelyezési technológia rendelkezésre állása

Az üzembe helyezési módszer attól is függ, hogy melyik üzemeltetési tervet és operációs rendszert futtatja a függvényalkalmazás.

A Functions jelenleg öt lehetőséget kínál a függvényalkalmazások üzemeltetésére:

Minden tervnek különböző viselkedési módjai vannak. Nem minden üzembe helyezési technológia érhető el minden üzemeltetési tervhez és operációs rendszerhez. Ez a diagram a támogatott üzembehelyezési technológiákról nyújt tájékoztatást:

Üzembe helyezési technológia Rugalmas használat Felhasználás Rugalmas Prémium Dedikált Container Apps
OneDeploy
Zip-üzembe helyezés
Külső csomag URL-címe1
Docker-tároló Csak Linux-alapú Csak Linux-alapú Csak Linux-alapú
Forrásvezérlő Csak Windows rendszeren
Helyi Git1 Csak Windows rendszeren
FTPS1 Csak Windows rendszeren
Portálon belüli szerkesztés2

1 Az olyan üzembehelyezési technológiák, amelyek az eseményindítók manuális szinkronizálását igénylik , nem ajánlottak.
2 A portálon belüli szerkesztés le van tiltva, ha a kód a függvényalkalmazásban a portálon kívülről van üzembe helyezve. További információkért, beleértve a portálon belüli szerkesztés nyelvtámogatási adatait, tekintse meg a nyelvi támogatás részleteit.

Fő fogalmak

Néhány kulcsfontosságú fogalom kritikus fontosságú az Azure Functions üzembe helyezésének megértéséhez.

Eseményindító szinkronizálása

Az eseményindítók módosításakor a Functions-infrastruktúrának tisztában kell lennie a változásokkal. A szinkronizálás számos üzembe helyezési technológia esetében automatikusan megtörténik. Bizonyos esetekben azonban manuálisan kell szinkronizálnia az eseményindítókat.

Az alábbi üzembehelyezési beállítások használatakor manuálisan kell szinkronizálnia az eseményindítókat:

Az eseményindítókat az alábbi módokon szinkronizálhatja:

  • Indítsa újra a függvényalkalmazást az Azure Portalon.

  • az rest A parancs használatával küldjön egy HTTP POST-kérést, amely meghívja az syncfunctiontriggers API-t, ahogy az ebben a példában is látható:

    az rest --method post --url https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<APP_NAME>/syncfunctiontriggers?api-version=2016-08-01
    

Amikor telepíti az üzembehelyezési csomag frissített verzióját, és ugyanazt a külső csomag URL-címét tartja fenn, manuálisan újra kell indítania a függvényalkalmazást. Ez azt jelzi a gazdagépnek, hogy szinkronizálnia kell a frissítéseket, és újból üzembe kell helyeznie a frissítéseket ugyanabból a csomag URL-címéből. A Functions-gazdagép az alkalmazás elindítása után háttér eseményindító szinkronizálását is végrehajtja. A Consumption és Elastic Premium üzemeltetési csomagok esetében azonban manuálisan is szinkronizálnia kell az eseményindítókat az alábbi esetekben:

  • Külső csomag URL-címét használó üzembe helyezések ARM-sablonokkal vagy Terraformmal.
  • Amikor az üzembehelyezési csomagot ugyanazon a külső csomag URL-címén frissíti.

Távoli buildelés

Az üzembe helyezés során kérheti az Azure Functionst, hogy végezze el a kódprojekt távoli buildelését. Ezekben az esetekben a helyi létrehozás helyett távoli buildet kell kérnie:

  • Egy windowsos számítógépen fejlesztett Linux-alapú függvényalkalmazásban helyez üzembe egy alkalmazást. Ez általában a Python-alkalmazások fejlesztésénél fordul elő. Előfordulhat, hogy helytelen kódtárakat használ a központi telepítési csomag helyi windowsos létrehozásakor.
  • A projekt függőségekkel rendelkezik egy egyéni csomagindexhez.
  • Csökkenteni szeretné az üzembehelyezési csomag méretét.

A távoli build kérésének módjától függ, hogy az alkalmazás Windowson vagy Linuxon fut-e az Azure-ban.

A Windows rendszeren futó összes függvényalkalmazás rendelkezik egy kis felügyeleti alkalmazással, amely a scm Kudu által biztosított webhely. Ez a webhely kezeli az Azure Functions üzembe helyezési és buildlogikáinak nagy részét.

Amikor egy alkalmazást üzembe helyeznek a Windowsban, a rendszer nyelvspecifikus parancsokat futtat, például dotnet restore a (C#) vagy npm install a (JavaScript) parancsokat.

A távoli buildek üzembe helyezése során a következő szempontokat kell figyelembe venni:

  • A távoli buildek támogatottak a Használat csomagban Linuxon futó függvényalkalmazásokhoz. Az üzembe helyezési lehetőségek azonban korlátozottak ezekhez az alkalmazásokhoz, mert nem rendelkeznek scm (Kudu) webhelyekkel.
  • A Linuxon prémium csomagban vagy dedikált App Service-csomagban futó függvényalkalmazások rendelkeznek scm (Kudu) webhelyekkel, de a Windowshoz képest korlátozottak.
  • A távoli buildek nem végezhetők el, ha egy alkalmazás futtatási csomagot használ. Ha meg szeretné tudni, hogyan használhatja a távoli buildet ezekben az esetekben, tekintse meg a Zip üzembe helyezését.
  • Előfordulhat, hogy problémák merülnek fel a távoli buildeléssel kapcsolatban, amikor az alkalmazás a funkció elérhetővé tettése előtt jött létre (2019. augusztus 1.). Régebbi alkalmazások esetén hozzon létre egy új függvényalkalmazást, vagy futtassa az functionapp update --resource-group <RESOURCE_GROUP_NAME> --name <APP_NAME> a függvényalkalmazás frissítéséhez. Ez a parancs két próbálkozást is igénybe vehet a sikeres végrehajtáshoz.

Alkalmazástartalom-tároló

A csomagalapú üzembe helyezési módszerek a csomagot a függvényalkalmazáshoz társított tárfiókban tárolják, amely az AzureWebJobsStorage beállításban van definiálva . Ha elérhető, a Consumption és a Elastic Premium csomag alkalmazásai megpróbálják használni az Azure Files-tartalommegosztást ebből a fiókból, de a csomagot egy másik helyen is fenntarthatja. A Rugalmas használat csomag alkalmazásai ehelyett egy tárolót használnak az alapértelmezett tárfiókban, hacsak nem konfigurál egy másik tárfiókot az üzembe helyezéshez. További információkért tekintse át a where app content is stored in each deployment technology covered in the next section.

Fontos

A tárfiók fontos alkalmazásadatok tárolására szolgál, néha magában az alkalmazáskódban is. Korlátoznia kell a hozzáférést más alkalmazásoktól és felhasználóktól a tárfiókhoz.

Üzembe helyezési technológia részletei

A következő üzembehelyezési módszerek érhetők el az Azure Functionsben.

Egy üzembe helyezés

Az egyik üzembe helyezés az egyetlen olyan üzembehelyezési technológia, amelyet a Rugalmas használat csomagban lévő alkalmazások támogatnak. A végeredmény egy használatra kész .zip csomag, amelyen a függvényalkalmazás fut.

Használat: Üzembe helyezés a Visual Studio Code közzétételi funkciójával, vagy parancssorból az Azure Functions Core Tools vagy az Azure CLI használatával. Az Azure Dev Ops-feladat és a GitHub-művelet hasonlóképpen használ egy üzembe helyezést, amikor észlelik, hogy egy Flex Consumption-alkalmazás üzembe helyezése folyamatban van.

Flex Consumption-alkalmazás létrehozásakor meg kell adnia egy üzembehelyezési tárolót (blobtárolót), valamint egy hitelesítési módszert. Alapértelmezés szerint ugyanaz a tárfiók van használatban, mint a AzureWebJobsStorage kapcsolat, és a hitelesítési módszer kapcsolati sztring. Így az üzembehelyezési beállítások az alkalmazás létrehozásakor vannak konfigurálva anélkül, hogy szükség van az alkalmazásbeállításokra.

Mikor érdemes használni: Egyetlen üzembe helyezési technológia érhető el a Rugalmas kihasználtság csomagban futó függvényalkalmazások számára.

Az alkalmazástartalom tárolása: Flex Consumption függvényalkalmazás létrehozásakor meg kell adnia egy üzembehelyezési tárolót. Ez egy blobtároló, ahol a platform feltölti az üzembe helyezett alkalmazástartalmat. A hely módosításához látogasson el az Üzembe helyezési beállítások panelre az Azure Portalon, vagy használja az Azure CLI-t.

Zip-üzembe helyezés

A Zip üzembe helyezése az alapértelmezett és ajánlott üzembe helyezési technológia a Használat, Az Elastic Premium és az App Service (Dedikált) csomagokban futó függvényalkalmazásokhoz. A végeredmény egy használatra kész .zip csomag, amelyen a függvényalkalmazás fut. Abban különbözik a külső csomag URL-címétől, hogy a platformunk felelős az alkalmazás tartalmának távoli létrehozásáért és tárolásáért.

Használat: Üzembe helyezés kedvenc ügyféleszközével: Visual Studio Code, Visual Studio, vagy parancssorból az Azure Functions Core Tools vagy az Azure CLI használatával. Az Azure Dev Ops-feladat és a GitHub-művelet hasonlóképpen kihasználja a zip üzembe helyezését.

Ha zip-alapú üzembe helyezéssel telepít, beállíthatja, hogy az alkalmazás a csomagból fusson. A csomagból való futtatáshoz állítsa az WEBSITE_RUN_FROM_PACKAGE alkalmazásbeállítás értékét a következőre 1: . Javasoljuk a zip-alapú üzembe helyezést. Gyorsabb betöltési időt biztosít az alkalmazások számára, és ez az alapértelmezett a VS Code, a Visual Studio és az Azure CLI esetében.

Mikor érdemes használni: A Zip üzembe helyezése az alapértelmezett és ajánlott üzembe helyezési technológia a Windows Consumption, a Windows és a Linux Elastic Premium, valamint a Windows és a Linux App Service (Dedikált) csomagokban futó függvényalkalmazásokhoz.

Az alkalmazástartalom tárolási helye: A zip-alapú üzembe helyezésből származó alkalmazástartalmak alapértelmezés szerint a fájlrendszerben vannak tárolva, amelyet az Azure Files a függvényalkalmazás létrehozásakor megadott tárfiókból biztosít. Linux-használat esetén az alkalmazás tartalma ehelyett egy blobon marad meg az AzureWebJobsStorage alkalmazásbeállítás által megadott tárfiókban, és az alkalmazásbeállítás WEBSITE_RUN_FROM_PACKAGE a blob URL-címének értékét veszi fel.

Külső csomag URL-címe

A külső csomag URL-címe akkor érhető el, ha manuálisan szeretné szabályozni az üzemelő példányok végrehajtását. Ön felelősséget vállal azért, hogy feltölt egy használatra kész .zip csomagot, amely tartalmazza a beépített alkalmazástartalmat a Blob Storage-ba, és a függvényalkalmazás alkalmazásbeállításaként hivatkozik erre a külső URL-címre. Amikor az alkalmazás újraindul, lekéri a csomagot, csatlakoztatja és Futtatás csomagból módban fut.

Használat: Hozzáadás WEBSITE_RUN_FROM_PACKAGE az alkalmazásbeállításokhoz. Ennek a beállításnak az értéke egy blob URL-címe, amely annak a csomagnak a helyére mutat, amelyet futtatni szeretne az alkalmazás számára. A beállításokat a portálon vagy az Azure CLI használatával is hozzáadhatja.

Az Azure Blob Storage használata esetén a függvényalkalmazás felügyelt identitásalapú kapcsolattal vagy közös hozzáférésű jogosultságkóddal (SAS) férhet hozzá a tárolóhoz. A választott beállítás befolyásolja, hogy milyen TÍPUSÚ URL-címet használ a WEBSITE_RUN_FROM_PACKAGE értékeként. A felügyelt identitás használata ajánlott az általános biztonság érdekében, és mivel az SAS-jogkivonatok lejárnak, és manuálisan kell karbantartani.

Amikor üzembe helyezi a függvényalkalmazás által hivatkozott csomagfájlt, manuálisan kell szinkronizálnia az eseményindítókat, beleértve a kezdeti üzembe helyezést is. Ha módosítja a csomagfájl tartalmát, és nem magát az URL-címet, újra kell indítania a függvényalkalmazást az eseményindítók szinkronizálásához. Tekintse meg az üzembehelyezési technológia konfigurálásával kapcsolatos útmutatónkat.

Mikor érdemes használni: A külső csomag URL-címe az egyetlen támogatott üzembehelyezési módszer a Linux-használat csomagon futó alkalmazásokhoz, ha nem szeretné , hogy távoli build történjen. Ez a módszer akkor is ajánlott üzembe helyezési technológia, ha azure Files nélkül hozza létre az alkalmazást. A Linuxon futó skálázható alkalmazások esetében inkább a Flex Consumption csomag üzemeltetését érdemes megfontolni.

Az alkalmazástartalmak tárolási helye: Ön a felelős az alkalmazástartalom blobtárolóba való feltöltéséért. Bármilyen Blob Storage-fiókot használhat, bár az Azure Blob Storage használata ajánlott.

Docker-tároló

Linux-tárolóban futó függvényalkalmazást is üzembe helyezhet.

Használat: Hozza létre a függvényeket egy Linux-tárolóban , majd helyezze üzembe a tárolót egy Prémium vagy Dedikált csomagban az Azure Functionsben vagy egy másik tároló gazdagépen. Az Azure Functions Core Tools használatával létrehozhat egy testreszabott Docker-fájlt a projekthez, amelyet tárolóalapú függvényalkalmazás létrehozásához használ. A tárolót a következő üzemelő példányokban használhatja:

Mikor érdemes használni: Használja a Docker-tároló lehetőséget, ha nagyobb mértékben kell szabályoznia azt a Linux-környezetet, amelyben a függvényalkalmazás fut, és ahol a tároló üzemel. Ez az üzembe helyezési mechanizmus csak Linuxon futó függvényekhez érhető el.

Az alkalmazástartalom tárolása: Az alkalmazástartalmak a rendszerkép részeként a megadott tárolóregisztrációs adatbázisban vannak tárolva.

Verziókövetés

Engedélyezheti a függvényalkalmazás és a forráskódtár közötti folyamatos integrációt. Ha engedélyezve van a forrásvezérlés, a csatlakoztatott forrásadattár kódjának frissítése elindítja a legújabb kód üzembe helyezését az adattárból. További információkért tekintse meg az Azure Functions folyamatos üzembe helyezését.

A használat módja: A közzététel forrásvezérlésből történő beállításának legegyszerűbb módja a portál Functions területén található Üzembehelyezési központ. További információ: Folyamatos üzembe helyezés az Azure Functionsben.

Mikor érdemes használni: A forrásvezérlés használata az ajánlott eljárás azoknak a csapatoknak, amelyek együttműködnek a függvényalkalmazásaikban. A forrásvezérlés egy jó üzembehelyezési lehetőség, amely kifinomultabb üzembehelyezési folyamatokat tesz lehetővé. A forrásvezérlés általában engedélyezve van egy átmeneti ponton, amely az adattárból származó frissítések ellenőrzése után váltható fel éles környezetbe. További információ: Azure Functions üzembehelyezési pontok.

Az alkalmazástartalom tárolási helye: Az alkalmazás tartalma a forrásvezérlő rendszerben található, de a helyileg klónozott és beépített alkalmazástartalmak az alkalmazás fájlrendszerén vannak tárolva, amelyet az Azure Files a függvényalkalmazás létrehozásakor megadott tárfiókból készít.

Helyi Git

A helyi Git használatával leküldheti a kódot a helyi gépről az Azure Functionsbe a Git használatával.

Használat: Kövesse a Helyi Git-telepítés utasításait a Azure-alkalmazás szolgáltatáshoz.

Mikor érdemes használni: A hibák esélyének csökkentése érdekében kerülnie kell az olyan üzembehelyezési módszerek használatát, amelyek az eseményindítók manuális szinkronizálásának további lépését igénylik. Ha lehetséges, használjon zip-telepítést .

Az alkalmazástartalom tárolása: Az alkalmazástartalmak a fájlrendszerben vannak tárolva, amelyet az Azure Files a függvényalkalmazás létrehozásakor megadott tárfiókból lehet biztonsági másolatot létrehozni.

FTP/S

Ftp/S használatával közvetlenül átviheti a fájlokat az Azure Functionsbe, bár ez az üzembe helyezési módszer nem ajánlott. Ha nem ftp-t szeretne használni, tiltsa le. Ha az FTP használata mellett dönt, az FTPS-t kell kikényszerítenie. Az Azure Portalon az FTPS kényszerítése című témakörben talál további információt.

A használat menete: Kövesse az FTPS üzembehelyezési beállításaiban található utasításokat a függvényalkalmazásban FTPS használatával történő üzembe helyezéshez használható URL-cím és hitelesítő adatok lekéréséhez.

Mikor érdemes használni: A hibák esélyének csökkentése érdekében kerülnie kell az olyan üzembehelyezési módszerek használatát, amelyek az eseményindítók manuális szinkronizálásának további lépését igénylik. Ha lehetséges, használjon zip-telepítést .

Az alkalmazástartalom tárolása: Az alkalmazástartalmak a fájlrendszerben vannak tárolva, amelyet az Azure Files a függvényalkalmazás létrehozásakor megadott tárfiókból lehet biztonsági másolatot létrehozni.

Portálszerkesztés

A portálalapú szerkesztőben közvetlenül szerkesztheti a függvényalkalmazásban található fájlokat (lényegében minden alkalommal üzembe helyezheti őket, amikor menti a módosításokat).

Használat: Ahhoz, hogy szerkeszteni tudja a függvényeket az Azure Portalon, létre kell hoznia a függvényeket a portálon. Egyetlen igazságforrás megőrzése érdekében bármely más üzembe helyezési módszer használatával a függvény írásvédetté válik, és megakadályozza a portál folyamatos szerkesztését. Ha olyan állapotba szeretne visszatérni, amelyben szerkesztheti a fájlokat az Azure Portalon, manuálisan visszakapcsolhatja a szerkesztési módot Read/Write , és eltávolíthatja az üzembe helyezéssel kapcsolatos alkalmazásbeállításokat (például WEBSITE_RUN_FROM_PACKAGE).

Mikor érdemes használni: A portál jó módszer az Azure Functions használatának megkezdésére. A fejlettebb fejlesztési feladatokhoz az alábbi ügyféleszközök egyikét javasoljuk:

Az alkalmazástartalom tárolása: Az alkalmazástartalmak a fájlrendszerben vannak tárolva, amelyet az Azure Files a függvényalkalmazás létrehozásakor megadott tárfiókból lehet biztonsági másolatot létrehozni.

Az alábbi táblázat a portálon belüli szerkesztést támogató operációs rendszereket és nyelveket mutatja be:

Nyelv Windows-használat Windows Premium Dedikált Windows Linux-használat Linux Premium Dedikált Linux
C#1
Java
JavaScript (Node.js)
Python2
PowerShell
TypeScript (Node.js)

1 A portálon belüli szerkesztés csak a gazdagépen folyamatban futó C#-szkriptfájlok esetében támogatott. További információ: Azure Functions C# szkript (.csx) fejlesztői referencia.
2 A portálon belüli szerkesztés csak az 1-es verziós Python-programozási modell esetében támogatott.

Üzembe helyezési viselkedések

Amikor frissítéseket helyez üzembe a függvényalkalmazás kódjához, a függvények végrehajtása leáll. Az üzembe helyezés befejezése után a rendszer betölti az új kódot a kérelmek feldolgozásának megkezdéséhez. Tekintse át az Azure Functions teljesítményének és megbízhatóságának javítását, és ismerje meg, hogyan írhat állapot nélküli és védekező függvényeket.

Ha több vezérlésre van szüksége az átállás felett, üzembehelyezési pontokat kell használnia.

Üzembehelyezési pontok

Amikor üzembe helyezi a függvényalkalmazást az Azure-ban, a közvetlen éles környezet helyett egy külön üzembehelyezési ponton helyezheti üzembe. A folyamatos üzembe helyezés konfigurálásának ajánlott módja az üzembe helyezés üzembe helyezése, majd az ellenőrzés után az éles környezetbe való váltás.

A ponton való üzembe helyezés módja az adott üzembehelyezési eszköztől függ. Az Azure Functions Core Tools használatakor például megadhatja a--slot parancs egy adott pontjának func azure functionapp publish nevét.

Az üzembehelyezési pontokról további információt az Azure Functions üzembehelyezési pontok dokumentációjában talál.

Következő lépések

A függvényalkalmazások üzembe helyezésével kapcsolatos további információkért olvassa el ezeket a cikkeket: