Üzembe helyezési technológiák Azure FunctionsDeployment technologies in Azure Functions

Néhány különböző technológiával üzembe helyezheti Azure Functions-projekt kódját az Azure-ban.You can use a few different technologies to deploy your Azure Functions project code to Azure. Ez a cikk részletes listát nyújt ezekről a technológiákról, leírja, hogy mely technológiák érhetők el, amelyek a függvények különböző típusairól szólnak, és ismerteti, hogy mi történik az egyes módszerek használatakor, és javaslatokat tesz a legjobb módszer használatára különféle helyzetekben .This article provides an exhaustive list of those technologies, describes which technologies are available for which flavors of Functions, explains what happens when you use each method, and provides recommendations for the best method to use in various scenarios. A Azure Functions üzembe helyezését támogató különféle eszközök a környezetük alapján a megfelelő technológiára vannak hangolva.The various tools that support deploying to Azure Functions are tuned to the right technology based on their context. Általánosságban elmondható, hogy a zip-telepítés a Azure Functions ajánlott központi telepítési technológiája.In general, zip deployment is the recommended deployment technology for Azure Functions.

Üzembe helyezési technológia rendelkezésre állásaDeployment technology availability

Azure Functions támogatja a többplatformos helyi fejlesztést és üzemeltetést Windows és Linux rendszeren.Azure Functions supports cross-platform local development and hosting on Windows and Linux. Jelenleg három üzemeltetési csomag érhető el:Currently, three hosting plans are available:

Minden csomag eltérő viselkedéssel rendelkezik.Each plan has different behaviors. Nem minden központi telepítési technológia érhető el Azure Functions minden egyes ízét.Not all deployment technologies are available for each flavor of Azure Functions. A következő diagramon látható, hogy mely telepítési technológiák támogatottak az operációs rendszer és a üzemeltetési csomag minden kombinációja esetén:The following chart shows which deployment technologies are supported for each combination of operating system and hosting plan:

Üzembe helyezési technológiaDeployment technology Windows-felhasználásWindows Consumption Windows Premium (előzetes verzió)Windows Premium (preview) Dedikált WindowsWindows Dedicated Linux-felhasználásLinux Consumption Linux Premium (előzetes verzió)Linux Premium (preview) Linux dedikáltLinux Dedicated
Külső csomag URL-címe1External package URL1
Zip-telepítésZip deploy
Docker tárolókDocker container
Web DeployWeb Deploy
VerziókövetésSource control
Helyi git1Local Git1
Cloud Sync1Cloud sync1
FTP1FTP1
Portál szerkesztésePortal editing 22 22

1 a manuális trigger-szinkronizálást igénylő üzembe helyezési technológia.1 Deployment technology that requires manual trigger syncing.
2 a portálon történő szerkesztés csak a http-és időzítő-eseményindítók esetében engedélyezett a Linux-függvények prémium és dedikált csomagok használatával.2 Portal editing is enabled only for HTTP and Timer triggers for Functions on Linux using Premium and dedicated plans.

Fő fogalmakKey concepts

Néhány kulcsfontosságú fogalom fontos, hogy megértsük, hogyan működnek a központi telepítések Azure Functions.Some key concepts are critical to understanding how deployments work in Azure Functions.

Szinkronizálás elindításaTrigger syncing

Az eseményindítók módosításakor a functions infrastruktúrájának tisztában kell lennie a változásokkal.When you change any of your triggers, the Functions infrastructure must be aware of the changes. A szinkronizálás számos üzembe helyezési technológia esetében automatikusan megtörténik.Synchronization happens automatically for many deployment technologies. Bizonyos esetekben azonban manuálisan kell szinkronizálnia az eseményindítókat.However, in some cases, you must manually sync your triggers. Ha a frissítéseket egy külső csomag URL-címére, a helyi git-ra, a felhő-szinkronizálásra vagy az FTP-re hivatkozva telepíti, manuálisan kell szinkronizálnia az eseményindítókat.When you deploy your updates by referencing an external package URL, local Git, cloud sync, or FTP, you must manually sync your triggers. Az eseményindítók szinkronizálása háromféleképpen végezhető el:You can sync triggers in one of three ways:

  • Indítsa újra a Function alkalmazást a Azure PortalRestart your function app in the Azure portal
  • HTTP post- https://{functionappname}.azurewebsites.net/admin/host/synctriggers?code=<API_KEY> kérés küldése a főkulcs használatára.Send an HTTP POST request to https://{functionappname}.azurewebsites.net/admin/host/synctriggers?code=<API_KEY> using the master key.
  • HTTP POST-kérelem küldése a https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.Web/sites/<FUNCTION_APP_NAME>/syncfunctiontriggers?api-version=2016-08-01következőnek:.Send an HTTP POST request to 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Óra, az erőforráscsoport nevére és a függvény alkalmazásának nevére.Replace the placeholders with your subscription ID, resource group name, and the name of your function app.

Távoli BuildRemote build

A Azure Functions automatikusan képes a zip-telepítések után kapott programkódra épülő buildek végrehajtására.Azure Functions can automatically perform builds on the code it receives after zip deployments. Ezek a buildek némileg eltérően működnek attól függően, hogy az alkalmazás Windows vagy Linux rendszeren fut-e.These builds behave slightly differently depending on whether your app is running on Windows or Linux. A távoli buildek nem hajthatók végre, ha egy alkalmazás már a csomag módból való futtatásra van beállítva.Remote builds are not performed when an app has previously been set to run in Run From Package mode. A távoli Build használatának megismeréséhez navigáljon a zip üzembe helyezéshez.To learn how to use remote build, navigate to zip deploy.

Megjegyzés

Ha problémák merülnek fel a távoli buildtel kapcsolatban, annak oka az lehet, hogy az alkalmazást a szolgáltatás elérhetővé tétele előtt hozták létre (2019. augusztus 1.).If you're having issues with remote build, it might be because your app was created before the feature was made available (August 1, 2019). Próbálkozzon új Function-alkalmazás létrehozásával.Try creating a new function app.

Távoli Build Windows rendszerenRemote build on Windows

A Windowson futó összes Function apps egy kis felügyeleti alkalmazással, az SCM (vagy kudu) hellyel rendelkezik.All function apps running on Windows have a small management app, the SCM (or Kudu) site. Ez a hely kezeli a központi telepítés nagy részét, és felépíti a logikát a Azure Functions számára.This site handles much of the deployment and build logic for Azure Functions.

Ha egy alkalmazás Windows rendszerre van telepítve, a nyelvspecifikus parancsok, például dotnet restore a (C#) vagy npm install a (JavaScript) futnak.When an app is deployed to Windows, language-specific commands, like dotnet restore (C#) or npm install (JavaScript) are run.

Távoli Build Linuxon (előzetes verzió)Remote build on Linux (preview)

A Linuxon a távoli buildek engedélyezéséhez a következő beállításokatkell beállítania:To enable remote build on Linux, you must set the following application settings:

  • ENABLE_ORYX_BUILD=true
  • SCM_DO_BUILD_DURING_DEPLOYMENT=true

Az alkalmazások Linux rendszeren való létrehozásakor a központi telepítési csomagból futnak.When apps are built remotely on Linux, they run from the deployment package.

Megjegyzés

A Linux dedikált (App Service) csomag távoli létrehozása jelenleg csak a Node. js és a Python esetében támogatott.Remote build on the Linux Dedicated (App Service) plan is currently only supported for Node.js and Python.

Felhasználási (előzetes verzió) csomagConsumption (preview) plan

A használati tervben futó Linux-függvények alkalmazásai nem rendelkeznek SCM/kudu hellyel, ami korlátozza az üzembe helyezési lehetőségeket.Linux function apps running in the Consumption plan don't have an SCM/Kudu site, which limits the deployment options. Az alkalmazások a használati csomagban futó Linux rendszeren azonban támogatják a távoli buildeket.However, function apps on Linux running in the Consumption plan do support remote builds.

Dedikált és Prémium csomag (előzetes verzió)Dedicated and Premium (preview) plans

A dedikált (App Service) csomagban Linux rendszeren futó alkalmazások funkcióinak, valamint a prémium csomagnak korlátozott SCM/kudu-hely is van.Function apps running on Linux in the Dedicated (App Service) plan and the Premium plan also have a limited SCM/Kudu site.

Üzembe helyezési technológia részleteiDeployment technology details

A következő üzembe helyezési módszerek érhetők el Azure Functionsban.The following deployment methods are available in Azure Functions.

Külső csomag URL-címeExternal package URL

Külső csomag URL-címével hivatkozhat a Function alkalmazást tartalmazó távoli csomag (. zip) fájlra.You can use an external package URL to reference a remote package (.zip) file that contains your function app. A fájl a megadott URL-címről töltődik le, és az alkalmazás csomag módban fut.The file is downloaded from the provided URL, and the app runs in Run From Package mode.

Használat: Adja WEBSITE_RUN_FROM_PACKAGE hozzá az alkalmazás beállításait.How to use it: Add WEBSITE_RUN_FROM_PACKAGE to your application settings. A beállítás értékének URL-címnek kell lennie (a futtatni kívánt adott csomagfájl helye).The value of this setting should be a URL (the location of the specific package file you want to run). A beállításokat a portálon vagy Az Azure CLI használatávalis hozzáadhatja.You can add settings either in the portal or by using the Azure CLI.

Ha az Azure Blob Storage-t használja, használjon egy közös hozzáférési aláírással (SAS) rendelkező privát tárolót, amely lehetővé teszi a funkciók elérését a csomaghoz.If you use Azure Blob storage, use a private container with a shared access signature (SAS) to give Functions access to the package. Az alkalmazás újraindításakor a rendszer lekéri a tartalom egy példányát.Any time the application restarts, it fetches a copy of the content. A hivatkozásnak érvényesnek kell lennie az alkalmazás élettartamára.Your reference must be valid for the lifetime of the application.

Mikor érdemes használni: A külső csomag URL-címe az egyetlen támogatott üzembe helyezési módszer a Linux rendszeren futó Azure Functions a használati tervben, ha a felhasználó kifejezetten nem kíván távoli buildet létrehozni.When to use it: External package URL is the only supported deployment method for Azure Functions running on Linux in the Consumption plan, if the user specifically doesn't want a remote build to occur. Amikor frissíti a alkalmazáscsomag által hivatkozott csomagfájl adatait, manuálisan kell szinkronizálnia az eseményindítókat , hogy tájékoztassa az Azure-t arról, hogy az alkalmazás megváltozott.When you update the package file that a function app references, you must manually sync triggers to tell Azure that your application has changed.

Zip-telepítésZip deploy

A zip-telepítés használatával leküldheti a Function alkalmazást az Azure-ba tartalmazó. zip-fájlt.Use zip deploy to push a .zip file that contains your function app to Azure. Megadhatja, hogy az alkalmazás a csomagból induljon el, vagy megadhatja, hogy a rendszer távoli buildet hajtson végre.Optionally, you can set your app to start running from package, or specify that a remote build occurs.

Használat: Üzembe helyezés a kedvenc ügyfél-eszköz használatával: Vs Code, Visual Studiovagy az Azure CLI.How to use it: Deploy by using your favorite client tool: VS Code, Visual Studio, or the Azure CLI. Ha a. zip-fájlt manuálisan szeretné telepíteni a Function alkalmazásba, kövesse az üzembe helyezés a. zip fájlból vagy URL-címrőlcímű témakör utasításait.To manually deploy a .zip file to your function app, follow the instructions in Deploy from a .zip file or URL.

Egy távoli buildtelrendelkező zip-telepítés végrehajtásához használja a következő alapvető eszközök parancsot:To perform a zip deploy with a remote build, use the following Core Tools command:

func azure functionapp publish <app name> --build remote

Azt is megteheti, hogy a (z) "" azureFunctions. scmDoBuildDuringDeployment "jelző hozzáadásával egy távoli buildet hajt végre a VS Code utasításban.Alternatively, you can instruct VS Code to perform a remote build when deploying by adding the ``azureFunctions.scmDoBuildDuringDeployment" flag. Ha meg szeretné tudni, hogyan adhat hozzá egy jelölőt a VS Code-hoz, olvassa el a Azure functions Extension wikiutasításait.To learn how to add a flag to VS Code, read the instructions in the Azure Functions Extension Wiki.

Ha a zip-telepítés használatával végzi a telepítést, beállíthatja, hogy az alkalmazás csomagból fusson.When you deploy by using zip deploy, you can set your app to run from package. A csomagból való futtatáshoz állítsa WEBSITE_RUN_FROM_PACKAGE az Alkalmazásbeállítás 1értéket a következőre:.To run from package, set the WEBSITE_RUN_FROM_PACKAGE application setting value to 1. A zip-telepítést javasoljuk.We recommend zip deployment. Gyorsabb betöltési időt eredményez az alkalmazások számára, és ez az alapértelmezett a VS Code, a Visual Studio és az Azure CLI számára.It yields faster loading times for your applications, and it's the default for VS Code, Visual Studio, and the Azure CLI.

Mikor érdemes használni: A zip-telepítés a Azure Functions ajánlott központi telepítési technológiája.When to use it: Zip deploy is the recommended deployment technology for Azure Functions.

Docker tárolókDocker container

Telepítheti a Function alkalmazást tartalmazó Linux-tároló lemezképét.You can deploy a Linux container image that contains your function app.

Használat: Hozzon létre egy Linux-függvény alkalmazást a prémium vagy a dedikált csomagban, és adja meg, melyik tárolót szeretné futtatni.How to use it: Create a Linux function app in the Premium or Dedicated plan and specify which container image to run from. Ezt kétféleképpen teheti meg:You can do this in two ways:

  • Hozzon létre egy Linux-függvény alkalmazást egy Azure App Service csomaggal a Azure Portal.Create a Linux function app on an Azure App Service plan in the Azure portal. A közzétételhezválassza a Docker- rendszerképlehetőséget, majd konfigurálja a tárolót.For Publish, select Docker Image, and then configure the container. Adja meg azt a helyet, ahol a rendszerkép található.Enter the location where the image is hosted.
  • Hozzon létre egy Linux-függvény alkalmazást egy App Service csomagon az Azure CLI használatával.Create a Linux function app on an App Service plan by using the Azure CLI. További információ: függvény létrehozása Linux rendszeren egyéni rendszerkép használatával.To learn how, see Create a function on Linux by using a custom image.

Ha egy meglévő alkalmazást szeretne üzembe helyezni egy egyéni tároló használatával, a Azure functions Core Toolsbanhasználja az func deploy parancsot.To deploy to an existing app by using a custom container, in Azure Functions Core Tools, use the func deploy command.

Mikor érdemes használni: Akkor használja a Docker-tároló lehetőséget, ha nagyobb mértékű vezérlésre van szüksége a Function alkalmazást futtató linuxos környezetben.When to use it: Use the Docker container option when you need more control over the Linux environment where your function app runs. Ez a központi telepítési mechanizmus csak a Linux rendszeren futó függvények esetében érhető el.This deployment mechanism is available only for Functions running on Linux.

Web Deploy (MSDeploy)Web Deploy (MSDeploy)

A web Deploy csomagokat és üzembe helyezi a Windows-alkalmazásait bármely IIS-kiszolgálón, beleértve az Azure-ban Windowson futó Function-alkalmazásokat is.Web Deploy packages and deploys your Windows applications to any IIS server, including your function apps running on Windows in Azure.

Használat: A Visual Studio Tools for Azure functionshasználata.How to use it: Use Visual Studio tools for Azure Functions. Törölje a Futtatás a csomagfájl alapján (ajánlott) jelölőnégyzet jelölését.Clear the Run from package file (recommended) check box.

Letöltheti továbbá a web Deploy 3,6 -et MSDeploy.exe , és közvetlenül is meghívhatja.You can also download Web Deploy 3.6 and call MSDeploy.exe directly.

Mikor érdemes használni: A web Deploy támogatott, és nem tartalmaz problémát, de az előnyben részesített mechanizmus a zip üzembe helyezése a csomaggal engedélyezett futtatással.When to use it: Web Deploy is supported and has no issues, but the preferred mechanism is zip deploy with Run From Package enabled. További információt a Visual Studio fejlesztői útmutatójábantalál.To learn more, see the Visual Studio development guide.

VerziókövetésSource control

A verziókövetés használatával a Function alkalmazást egy git-tárházhoz is összekapcsolhatjuk.Use source control to connect your function app to a Git repository. A tárházban lévő kód frissítése elindítja az üzembe helyezést.An update to code in that repository triggers deployment. További információ: kudu wiki.For more information, see the Kudu Wiki.

Használat: A portál functions területén használja a Deployment Center alkalmazást a verziókövetés közzétételének beállításához.How to use it: Use Deployment Center in the Functions area of the portal to set up publishing from source control. További információ: Azure functions folyamatos üzembe helyezése.For more information, see Continuous deployment for Azure Functions.

Mikor érdemes használni: A verziókövetés használata az ajánlott eljárás olyan csapatok esetében, amelyek együttműködnek a funkció alkalmazásaiban.When to use it: Using source control is the best practice for teams that collaborate on their function apps. A verziókövetés jó üzembe helyezési lehetőség, amely kifinomultabb üzembe helyezési folyamatokat tesz lehetővé.Source control is a good deployment option that enables more sophisticated deployment pipelines.

Helyi GitLocal Git

A helyi gépen a git használatával leküldheti a kódot a helyi gépről Azure Functions.You can use local Git to push code from your local machine to Azure Functions by using Git.

Használat: Kövesse a helyi git-telepítésutasításait Azure app Service.How to use it: Follow the instructions in Local Git deployment to Azure App Service.

Mikor érdemes használni: Általában azt javasoljuk, hogy használjon másik telepítési módszert.When to use it: In general, we recommend that you use a different deployment method. Amikor a helyi git-ből tesz közzé, manuálisankell szinkronizálnia az eseményindítókat.When you publish from local Git, you must manually sync triggers.

Felhőbeli szinkronizálásCloud sync

A Cloud Sync használatával szinkronizálhatja a Dropbox és a OneDrive tartalmát a Azure Functionsba.Use cloud sync to sync your content from Dropbox and OneDrive to Azure Functions.

Használat: Kövesse a tartalom szinkronizálása egy felhőalapú mappábólcímű témakör utasításait.How to use it: Follow the instructions in Sync content from a cloud folder.

Mikor érdemes használni: Általánosságban elmondható, hogy más üzembe helyezési módszereket is ajánlunk.When to use it: In general, we recommend other deployment methods. A Cloud Sync használatával történő közzétételkor manuálisankell szinkronizálnia az eseményindítókat.When you publish by using cloud sync, you must manually sync triggers.

FTPFTP

Az FTP használatával közvetlenül átviheti a fájlokat a Azure Functionsba.You can use FTP to directly transfer files to Azure Functions.

Használat: Kövesse a tartalom üzembe helyezése FTP/s használatávalcímű témakör utasításait.How to use it: Follow the instructions in Deploy content by using FTP/s.

Mikor érdemes használni: Általánosságban elmondható, hogy más üzembe helyezési módszereket is ajánlunk.When to use it: In general, we recommend other deployment methods. Ha FTP használatával tesz közzé, manuálisankell szinkronizálnia az eseményindítókat.When you publish by using FTP, you must manually sync triggers.

Portál szerkesztésePortal editing

A portálon alapuló szerkesztőben közvetlenül szerkesztheti a Function alkalmazásban található fájlokat (lényegében a módosítások mentésekor minden alkalommal üzembe helyezheti őket).In the portal-based editor, you can directly edit the files that are in your function app (essentially deploying every time you save your changes).

Használat: Ahhoz, hogy szerkeszteni tudja a függvényeket a Azure Portalban, létre kell hoznia a függvényeket a portálon.How to use it: To be able to edit your functions in the Azure portal, you must have created your functions in the portal. Az igazság egyetlen forrásainak megtartása érdekében bármely más üzembe helyezési módszer használatával a függvény csak olvasható, és nem teszi lehetővé a portál folyamatos szerkesztését.To preserve a single source of truth, using any other deployment method makes your function read-only and prevents continued portal editing. Ha vissza szeretne térni olyan állapotba, amelyben szerkesztheti a fájljait a Azure Portalban, manuálisan is visszakapcsolhatja a szerkesztési Read/Write módot, és eltávolíthatja a telepítéshez kapcsolódó alkalmazás WEBSITE_RUN_FROM_PACKAGE-beállításokat (például).To return to a state in which you can edit your files in the Azure portal, you can manually turn the edit mode back to Read/Write and remove any deployment-related application settings (like WEBSITE_RUN_FROM_PACKAGE).

Mikor érdemes használni: A portál jó módszer a Azure Functions megkezdésére.When to use it: The portal is a good way to get started with Azure Functions. Az intenzívebb fejlesztési munka érdekében javasoljuk, hogy a következő ügyféleszközök egyikét használja:For more intense development work, we recommend that you use one of the following client tools:

A következő táblázat a portál szerkesztését támogató operációs rendszereket és nyelveket tartalmazza:The following table shows the operating systems and languages that support portal editing:

Windows-felhasználásWindows Consumption Windows Premium (előzetes verzió)Windows Premium (preview) Dedikált WindowsWindows Dedicated Linux-felhasználásLinux Consumption Linux Premium (előzetes verzió)Linux Premium (preview) Linux dedikáltLinux Dedicated
C#C#
C#ParancsfájlC# Script ** **
F#F#
JavaJava
JavaScript (Node.js)JavaScript (Node.js) ** **
Python (előzetes verzió)Python (Preview)
PowerShell (előzetes verzió)PowerShell (Preview)
TypeScript (Node.js)TypeScript (Node.js)

*A portál szerkesztése csak a HTTP-és időzítő-eseményindítók esetében engedélyezett a Linux-és prémium szintű és dedikált csomagok használatával.* Portal editing is enabled only for HTTP and Timer triggers for Functions on Linux using Premium and dedicated plans.

Üzembehelyezési pontokDeployment slots

Amikor üzembe helyezi a Function alkalmazást az Azure-ban, az üzembe helyezést külön üzembe helyezheti közvetlenül az éles környezet helyett.When you deploy your function app to Azure, you can deploy to a separate deployment slot instead of directly to production. Az üzembe helyezési pontokkal kapcsolatos további információkért tekintse meg a részleteket a Azure functions üzembe helyezési pontok dokumentációjában.For more information on deployment slots, see the Azure Functions Deployment Slots documentation for details.

További lépésekNext steps

Olvassa el ezeket a cikkeket a Function apps üzembe helyezésével kapcsolatos további információkért:Read these articles to learn more about deploying your function apps: