Üzembe helyezési technológiák a Azure Functions

A projektkód Azure-ban való üzembe helyezéséhez Azure Functions különböző technológiákat is használhat. Ez a cikk áttekintést nyújt az Elérhető üzembe helyezési módszerekről, és javaslatokat ad a különböző forgatókönyvekben használható legjobb módszerre. Emellett a mögöttes telepítési technológiák teljes listáját és fő részleteit is tartalmazza.

Üzembe helyezési módszerek

A kód Azure-ban való közzétételéhez használt üzembe helyezési technológiát általában az alkalmazás közzétételi módja határozza meg. A megfelelő üzembe helyezési módszert az adott igények és a fejlesztési ciklus pontjának határozzák meg. A fejlesztés és a tesztelés során például közvetlenül a fejlesztői eszközből, például a Visual Studio használatával helyezheti üzembe. Ha az alkalmazás éles környezetben van, nagyobb a valószínűsége annak, hogy folyamatosan közzétesz egy forrásvezérlőt vagy egy automatizált közzétételi folyamatot, amely további ellenőrzést és tesztelést is tartalmaz.

Az alábbi táblázat a függvényprojekthez elérhető üzembe helyezési módszereket ismerteti.

Központi   telepítési típus Metódusok A legjobb...
Eszközalapú • Visual   Studio     Code-közzététel
• Visual Studio közzététele
• A Core Tools közzététele
Üzembe helyezés a fejlesztés és más alkalmi telepítések során. Az üzembe helyezéseket helyileg, az eszközök kezelik.
App Service felügyelt • Üzembe   helyezési   központ (CI/CD)
• Tárolók   üzembe helyezése
Folyamatos üzembe helyezés (CI/CD) a forrásvezérlőből vagy egy tároló-beállításjegyzékből. Az üzembe helyezéseket a App Service (Kudu) kezeli.
Külső folyamatok • Azure Pipelines
• GitHub-műveletek
Az éles és DevOps-folyamatok, amelyek további ellenőrzést, tesztelést és más műveleteket tartalmaznak, az automatikus üzembe helyezés részeként futnak. Az üzembe helyezéseket a folyamat kezeli.

Bár egyes Functions-üzemelő példányok a környezetük alapján a legjobb technológiát használják, a legtöbb üzembe helyezési módszer a zip-alapú üzembe helyezésen alapul.

Üzembe helyezési technológia rendelkezésre állása

Azure Functions támogatja a platformfüggetlen helyi fejlesztést és üzemeltetést Windows és Linux rendszeren. Jelenleg három üzemeltetési csomag érhető el:

Minden tervnek más a viselkedése. Nem minden üzembe helyezési technológia érhető el az egyes Azure Functions. Az alábbi diagramon látható, hogy mely telepítési technológiák támogatottak az operációs rendszer és a üzemeltetési csomag egyes kombinációihoz:

Üzembe helyezési technológia Windows-használat Windows Premium Windows Dedicated Linux-használat Linux Premium Linux Dedicated
Külső csomagURL-címe 1
Zip üzembe helyezése
Docker-tároló
Web Deploy
Verziókövetés
Helyi Git1
Felhőalapú szinkronizálás1
FTP1
Portálszerkesztés 2. 2.

1. Központi telepítési technológia, amely manuális eseményindító-szinkronizálást igényel. 2 A portálszerkesztés csak a Prémium és Dedikált csomagokat használó Linux-függvények HTTP- és időzítő eseményindítóihoz engedélyezett.

Fő fogalmak

Egyes alapvető fogalmak kritikus fontosságúak az üzemelő példányok Azure Functions.

Eseményindító szinkronizálása

Az eseményindítók módosításakor a Functions-infrastruktúrának értesülnie kell a változásokról. Számos központi telepítési technológia esetében a szinkronizálás automatikusan megtörténik. Bizonyos esetekben azonban manuálisan kell szinkronizálnia az eseményindítókat. Ha külső csomag URL-címére, helyi Gitre, felhőszinkronizálásra vagy FTP-re hivatkozva telepíti a frissítéseket, manuálisan kell szinkronizálnia az eseményindítókat. Az eseményindítók háromféleképpen szinkronizálhatóak:

  • Indítsa újra a függvényalkalmazást a Azure Portal
  • Küldjön egy HTTP POST kérést a következő címre https://{functionappname}.azurewebsites.net/admin/host/synctriggers?code=<API_KEY> a főkulcs használatával:.
  • Küldjön egy HTTP POST kérést a következőnek: https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.Web/sites/<FUNCTION_APP_NAME>/syncfunctiontriggers?api-version=2016-08-01 . Cserélje le a helyőrzőket az előfizetés azonosítójára, az erőforráscsoport nevére és a függvényalkalmazás nevére.

Távoli build

Azure Functions automatikusan végrehajthat buildeket a zip-telepítés után kapott kódra. Ezek a buildek némileg eltérően viselkednek attól függően, hogy az alkalmazás Windows vagy Linux rendszeren fut-e. A távoli buildek nem hajthatóak végre, ha egy alkalmazás korábban Futtatás csomagból módban való futtatásra lett beállítva. Ha meg szeretne ismerkedni a távoli build használatával, lépjen a zip deploy (zip üzembe helyezése) lapra.

Megjegyzés

Ha problémái vannak a távoli buildeltel, annak az lehet az oka, hogy az alkalmazás a funkció elérhetővé válik (2019. augusztus 1.) előtt lett létrehozva. Próbáljon meg létrehozni egy új függvényalkalmazást, vagy a futtatásával frissíteni a az functionapp update -g <RESOURCE_GROUP_NAME> -n <APP_NAME> függvényalkalmazást. Ez a parancs két próbálkozásra lehet sikeres.

Távoli build Windows rendszeren

A Windows rendszeren futó összes függvényalkalmazás rendelkezik egy kis méretű felügyeleti alkalmazással, az SCM (vagy Kudu) webhelyével. Ez a hely kezeli az üzembe helyezési és buildlogikát a Azure Functions.

Amikor telepít egy alkalmazást a Windowsban, nyelvspecifikus parancsokat futtat, például dotnet restore a (C#) vagy npm install a (JavaScript) parancsokat.

Távoli build Linuxon

A linuxos távoli build engedélyezéséhez a következő alkalmazásbeállításokat kell beállítani:

  • ENABLE_ORYX_BUILD=true
  • SCM_DO_BUILD_DURING_DEPLOYMENT=true

Alapértelmezés szerint a Azure Functions Core Tools és a Azure Functions Code-hoz Visual Studio bővítmény is távoli buildeket hajt végre a Linuxon való üzembe helyezéskor. Emiatt mindkét eszköz automatikusan létrehozza ezeket a beállításokat az Azure-ban.

Ha az alkalmazások távolról, Linux rendszeren vannak felépítve, a telepítőcsomagból futnak.

Használatalapú csomag

A használatban álló csomagon futó Linux-függvényalkalmazások nem tartalmaznak SCM/Kudu-helyet, ami korlátozza az üzembe helyezési lehetőségeket. A használat alapján csomagként futó Linuxon futó függvényalkalmazások azonban támogatják a távoli buildeket.

Dedikált és Prémium csomagok

A Linuxon futó függvényalkalmazások a Dedikált (App Service) csomag és a Prémium csomag esetében szintén korlátozott SCM/Kudu-webhelyet kínálnak.

Üzembe helyezési technológia részletei

A következő üzembe helyezési módszerek érhetők el a Azure Functions.

Külső csomag URL-címe

Külső csomag URL-címével hivatkozhat a függvényalkalmazást tartalmazó távoli csomagfájlra (.zip). A fájl a megadott URL-címről lesz letöltve, és az alkalmazás Futtatás csomagból módban fut.

Hogyan használható: Adja WEBSITE_RUN_FROM_PACKAGE hozzá az et az alkalmazásbeállításokhoz. Ennek a beállításnak egy URL-címnek kell lennie (a futtatni kívánt csomagfájl helye). A beállításokat a portálon vagy az Azure CLI használatával használhatja.

Ha az Azure Blob Storage-et használja, használjon egy közös hozzáférésű jogosultságjelet (SAS) tartalmazó privát tárolót, amely hozzáférést biztosít a Functions számára a csomaghoz. Amikor az alkalmazás újraindul, lekéri a tartalom egy másolatát. A hivatkozásnak az alkalmazás teljes élettartama alatt érvényesnek kell lennie.

Mikor használható: A külső csomag URL-címe az egyetlen támogatott üzembe helyezési módszer Azure Functions, amely Linuxon fut a használat alapján, ha a felhasználó nem szeretné, hogy távoli build útjára ússunk. Amikor frissíti a függvényalkalmazás által hivatkozó csomagfájlt, manuálisan kell szinkronizálnia az eseményindítókat, hogy az Azure-nak meg tudja mondani az alkalmazás változását.

Zip üzembe helyezése

A zip-alapú üzembe helyezés használatával a függvényalkalmazást tartalmazó .zip-fájl leküldése az Azure-ba. Ha szükséges, beállíthatja, hogy az alkalmazás elindul a csomagból, vagy megadhatja, hogy távoli buildre kerül sor.

Hogyan használható: Üzembe helyezés kedvenc ügyféleszközével: Visual Studio Code, Visual Studio, vagy a parancssorból a Azure Functions Core Tools. Alapértelmezés szerint ezek az eszközök zip-telepítést használnak, és a csomagból futtatják a következőt:. A Core Tools és Visual Studio Code bővítmény egyaránt lehetővé teszi a távoli build használatát a Linuxon való üzembe helyezéskor. .zip-fájl a függvényalkalmazásban való manuális üzembe helyezéséhez kövesse a Deploy from a .zip file or URL (Üzembe helyezés .zip-fájlból vagy URL-címről) útmutatását.

A zip deploy használatával való üzembe helyezéskor 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 1 értékre. Javasoljuk a zip-fájl üzembe helyezését. Gyorsabb betöltési időket eredményez az alkalmazásoknál, és ez az alapértelmezett érték a VS Code, a Visual Studio és az Azure CLI esetében.

Mikor használható: A zip üzembe helyezés az ajánlott üzembe helyezési technológia Azure Functions.

Docker-tároló

Üzembe helyezhet egy Linux-tároló rendszerképet, amely tartalmazza a függvényalkalmazást.

Hogyan használható: Hozzon létre egy Linux-függvényalkalmazást a prémium vagy dedikált csomagban, és adja meg, hogy melyik tároló rendszerképből fusson. Ezt két módon teheti meg:

  • Hozzon létre egy Linux-függvényalkalmazást egy Azure App Service csomagon a Azure Portal. A Közzététel beállításhoz válassza a Docker-rendszerkép lehetőséget, majd konfigurálja a tárolót. Adja meg a rendszerkép helyének helyét.
  • Hozzon létre egy Linux-függvényalkalmazást egy App Service az Azure CLI használatával. További információ: Függvény létrehozása Linux rendszeren egyéni rendszerkép használatával.

Egy meglévő alkalmazás egyéni tárolóval való üzembe helyezéséhez használja a Azure Functions Core Tools func deploy paranccsal.

Mikor használható: Akkor használja a Docker-tároló lehetőséget, ha nagyobb irányításra van szüksége a függvényalkalmazást tartalmazó Linux-környezet felett. Ez az üzembe helyezési mechanizmus csak a Linuxon futó függvények számára érhető el.

Web Deploy (MSDeploy)

Web Deploy packages and deploys your Windows applications to any IIS server, including your function apps running on Windows in Azure.

Hogyan használható: A Visual Studio eszközök használatával Azure Functions. Törölje a Futtatás csomagfájlból (ajánlott) jelölőnégyzet jelölését.

A Web Deploy 3.6-ot is letöltheti, és közvetlenül MSDeploy.exe hívhatja a-t.

Mikor használható: A Web Deploy támogatott, és nem tartalmaz problémákat, de az előnyben részesített mechanizmus a zip üzembe helyezése, ha a Futtatás csomagból engedélyezve van. További tudnivalókért lásd a Visual Studio útmutatót.

Verziókövetés

A verzióvezérlővel csatlakoztassa a függvényalkalmazást egy Git-adattárhoz. Az adattár kódfrissítése elindítja az üzembe helyezést. További információkért lásd a Kudu wikit.

Hogyan használható: A portál Függvények területén használja az Üzembe helyezési központot a forrásvezérlőből való közzététel beállításához. További információ: Folyamatos üzembe helyezés a Azure Functions.

Mikor használható: A forrásvezérlés használata az ajánlott eljárás a függvényalkalmazásaikon együttműködő csapatok számára. A forrásvezérlés jó üzembe helyezési lehetőség, amely kifinomultabb üzembe helyezési folyamatokat tesz lehetővé.

Helyi Git

A helyi Git használatával kódot is lekérhetők a helyi gépről Azure Functions Git használatával.

Hogyan használható: Kövesse a Local Git deployment (Helyi Git üzemelő példány) útmutatását a Azure App Service.

Mikor használható: Általában egy másik üzembe helyezési módszer használatát javasoljuk. Amikor a helyi Gitből tesz közzé adatokat, manuálisan kell szinkronizálnia az eseményindítókat.

Felhőalapú szinkronizálás

A Cloud Sync használatával szinkronizálhatja a Dropboxból és a OneDrive-ból származó tartalmakat az Azure Functions.

Hogyan használható: Kövesse a Tartalom szinkronizálása felhőmappában útmutatását.

Mikor használható: Általánosságban más üzembe helyezési módszerek használatát javasoljuk. Ha felhőalapú szinkronizálással teszi közzé a közzétételt, manuálisan kell szinkronizálnia az eseményindítókat.

FTP

Az FTP használatával közvetlenül továbbíthat fájlokat a Azure Functions.

Hogyan használható: Kövesse a Tartalom üzembe helyezése FTP/s használatával rész utasításait.

Mikor használható: Általánosságban más üzembe helyezési módszerek használatát javasoljuk. Ftp használatával való közzétételkor manuálisan kell szinkronizálnia az eseményindítókat.

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

Hogyan használható: A függvények szerkesztéséhez a Azure Portal kell létrehoznia 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álata csak olvashatóvé teszi a függvényt, és megakadályozza a portál folyamatos szerkesztését. Ha vissza szeretne térni egy olyan állapotba, amelyben szerkesztheti a fájlokat a Azure Portal, manuálisan visszatérhet a szerkesztési módhoz, és eltávolíthatja a központi telepítéssel kapcsolatos alkalmazásbeállításokat Read/Write WEBSITE_RUN_FROM_PACKAGE (például: ).

Mikor használható: A portál jó módszer a Azure Functions. Az intenzívebb fejlesztési munka érdekében javasoljuk, hogy használja az alábbi ügyféleszközök egyikét:

Az alábbi táblázat a portál szerkesztését támogató operációs rendszereket és nyelveket mutatja be:

Nyelv Windows-használat Windows Premium Windows Dedicated Linux-használat Linux Premium Dedikált Linux
C#
C#-szkript * *
F#
Java
JavaScript (Node.js) * *
Python (előzetes verzió)
PowerShell (előzetes verzió)
TypeScript (Node.js)

* A portálszerkesztés csak HTTP- és időzítő eseményindítókhoz engedélyezett Linux-függvények esetén, prémium és dedikált csomagokkal.

Üzembe helyezési viselkedések

Az üzembe helyezés során az összes meglévő végrehajtás befejeződhet vagy időkorrektálhat, ami után a rendszer betölti az új kódot a kérések feldolgozásának megkezdéséhez.

Ha nagyobb kontrollra van szüksége az átállás felett, használjon üzembehelyeket.

Üzembe helyezési pontok

Amikor üzembe helyez egy függvényalkalmazást az Azure-ban, üzembe helyezhet egy különálló üzembe helyezési üzembe helyezési helyet, nem pedig közvetlenül az éles környezetben. Az üzembe helyezési tárolóhelyekkel kapcsolatos további információkért tekintse meg az üzembehely Azure Functions üzembehely helyezési tárolóhelyek dokumentációját.

Következő lépések

A függvényalkalmazások üzembe helyezéséről az alábbi cikkekben talál további információt: