Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure-ban közvetlenül a függvényalkalmazás üzembehelyezési csomagfájljából futtathatja a függvényeket. A másik lehetőség a fájlok üzembe helyezése a c:\home\site\wwwroot függvényalkalmazás (Windows) vagy /home/site/wwwroot (Linux) könyvtárában.
Ez a cikk a függvények csomagból való futtatásának előnyeit ismerteti. Azt is bemutatja, hogyan engedélyezheti ezt a funkciót a függvényalkalmazásban.
Csomagfájlból való futtatás előnyei
A függvények csomagfájlból való futtatásának számos előnye van:
- Csökkenti a fájlmásolási zárolási problémák kockázatát.
- Éles alkalmazásban (újraindítással) üzembe helyezhető.
- Ellenőrzi az alkalmazásban futó fájlokat.
- Javítja az Azure Resource Manager kiépítések teljesítményét.
- Csökkenti a hidegindítási időket, különösen nagy npm-csomagfákkal rendelkező JavaScript-függvények esetében.
További információkért tekintse meg ezt a bejelentést.
Függvények futtatásának engedélyezése csomagból
A Flex Consumption üzemeltetési csomag függvényalkalmazásai alapértelmezés szerint egy csomagból futnak. Nincs szükség speciális konfigurációra.
Ha engedélyezni szeretné, hogy a függvényalkalmazás egy csomagból fusson a Consumption, Elastic Premium és Dedikált (App Service) üzemeltetési csomagokban, adjon hozzá egy alkalmazásbeállítást WEBSITE_RUN_FROM_PACKAGE a függvényalkalmazáshoz. Az WEBSITE_RUN_FROM_PACKAGE alkalmazásbeállítás a következő értékek egyikével rendelkezhet:
| Érték | Leírás |
|---|---|
1 |
Azt jelzi, hogy a függvényalkalmazás a függvényalkalmazás (Windows) vagy c:\home\data\SitePackages (Linux) mappájában /home/data/SitePackages üzembe helyezett helyi csomagfájlból fut. |
<URL> |
Beállít egy URL-címet, amely a futtatni kívánt csomagfájl távoli helye. A Linux platformon futó fogyasztási tervben működő függvényalkalmazásokhoz szükséges. |
Az alábbi táblázat egy adott operációs rendszer és üzemeltetési csomag üzembe helyezésének ajánlott WEBSITE_RUN_FROM_PACKAGE értékeit mutatja be:
| Szolgáltatási csomag | Windows | Linux |
|---|---|---|
| Használat |
1 erősen ajánlott. |
Kizárólag az <URL> támogatott. |
| Prémium |
1 ajánlott. |
1 ajánlott. |
| Elkötelezett |
1 ajánlott. |
1 ajánlott. |
Általános megfontolások
- Ne adja hozzá az
WEBSITE_RUN_FROM_PACKAGEalkalmazásbeállítást az alkalmazásokhoz a Rugalmas használat csomagban. - A csomagfájlt .zip formázni kell. A tar és a gzip formátumok nem támogatottak.
- Zip-telepítés használata ajánlott.
- Windows rendszeren való üzembe helyezéskor a függvényalkalmazását úgy kell beállítania, hogy az
WEBSITE_RUN_FROM_PACKAGEértékét1-re állítja, és zip-alapú üzembe helyezéssel közzé kell tennie. - Ha egy csomagból futtat, a
wwwrootmappa írásvédett, és hibaüzenet jelenik meg, ha fájlokat ír ebbe a könyvtárba. A fájlok írásvédettek az Azure Portalon is. - Az üzembehelyezési csomagfájl maximális mérete 1 GB.
- Az üzembe helyezés ideiglenes tárterületet használ a projektfájlok kicsomagolásakor. Ez azt jelenti, hogy a függvényalkalmazásnak elegendő szabad ideiglenes tárterülettel kell rendelkeznie a csomag tartalmának tárolásához. Ne feledje, hogy a használati csomagok ideiglenes tárolási korlátja csomagonként 500 MB. Az ideiglenes tárolással kapcsolatos problémák elhárításáról a Azure-alkalmazás Szolgáltatás ideiglenes tárterületének hibaelhárítása című témakörben olvashat.
- Üzembehelyezési csomagból való futtatáskor nem használhatja a helyi gyorsítótárat.
- Ha a projektnek távoli buildet kell használnia, ne használja az alkalmazásbeállítást
WEBSITE_RUN_FROM_PACKAGE. Ehelyett adja hozzá azSCM_DO_BUILD_DURING_DEPLOYMENT=trueüzembehelyezési testreszabási alkalmazás beállításait. Linux esetén is adja hozzá aENABLE_ORYX_BUILD=truebeállítást. További információ: Távoli build.
Feljegyzés
Az WEBSITE_RUN_FROM_PACKAGE alkalmazásbeállítás nem működik az MSDeploy, ahogyan az az MSDeploy és ZipDeploy leírásában szerepel. Az üzembe helyezés során hibaüzenet jelenik meg, például ARM-MSDeploy Deploy Failed. A hiba megoldásához változtassa /MSDeploy-t /ZipDeploy-re.
Adja hozzá a WEBSITE_RUN_FROM_PACKAGE beállítást
A függvényalkalmazás beállításai többféleképpen is hozzáadhatók, frissíthetők és törölhetők:
A függvényalkalmazás beállításainak módosításához újra kell indítani a függvényalkalmazást.
A zip-archívum létrehozása
Az üzembe helyezendő zip-archívumnak tartalmaznia kell a függvényalkalmazás futtatásához szükséges összes fájlt. A Functions-projektmappák tartalmából manuálisan is létrehozhat zip-archívumot beépített .zip tömörítési funkcióval vagy nem Microsoft-eszközökkel.
Az archívumnak tartalmaznia kell a kibontott mappa gyökerében található host.json fájlt. A függvényalkalmazáshoz kijelölt nyelvi verem más követelményeket is létrehoz:
- .NET (izolált feldolgozói modell)
- .NET (folyamatban lévő modell)
- Jáva
- JavaScript
- TypeScript
- PowerShell
- Piton
Fontos
Azoknál a nyelveknél, amelyek összeállított kimenetet hoznak létre az üzembe helyezéshez, ügyeljen arra, hogy a közzétenni kívánt kimeneti mappa tartalmát tömörítse, ne a teljes projektmappát. Amikor a Functions kinyeri a zip archívum tartalmát, a host.json fájlnak a csomag gyökerében kell lennie.
WEBSITE_RUN_FROM_PACKAGE = 1 használata
Ez a szakasz a függvényalkalmazás helyi csomagfájlból való futtatásával kapcsolatos információkat tartalmaz.
A helyszíni csomagból történő üzembe helyezés szempontjai
- A helyszíni csomag használata ajánlott az üzembe helyezési csomagból való futtatáshoz, kivéve, ha a használatalapú csomagban üzemeltetett Linuxon fut.
- A zip-alapú üzembe helyezés ajánlott módja annak, hogy egy üzembehelyezési csomagot feltöltsön a webhelyére.
- Ha nem használ zip-telepítést, győződjön meg arról, hogy a
c:\home\data\SitePackages(Windows) vagy/home/data/SitePackagesa (Linux) mappában van egy fájl nevepackagename.txt. Ez a fájl csak a jelenleg futó mappában lévő csomagfájl nevét tartalmazza, szóköz nélkül.
Integráció zip-alapú üzembe helyezéssel
A Zip üzembe helyezése a Azure-alkalmazás Szolgáltatás egyik funkciója, amellyel üzembe helyezheti a függvényalkalmazás-projektet a wwwroot címtárban. A projekt .zip üzembehelyezési fájlként van csomagolva. Ezek az API-k használhatók a csomag telepítésére a c:\home\data\SitePackages (Windows) vagy a /home/data/SitePackages (Linux) mappába.
Amikor az WEBSITE_RUN_FROM_PACKAGE alkalmazásbeállítást 1 értékre állítja, a zip üzembe helyezési API-k a csomagot a c:\home\data\SitePackages (Windows) vagy /home/data/SitePackages (Linux) mappába másolják, ahelyett hogy a fájlokat kibontanák a c:\home\site\wwwroot (Windows) vagy /home/site/wwwroot (Linux) mappába. Emellett létrehozza a packagename.txt fájlt is. A függvényalkalmazás automatikus újraindítása után a csomag a wwwroot helyre van csatolva írásvédett fájlrendszerként. A zip üzembe helyezésével kapcsolatos további információkért tekintse meg az Azure Functions Zip üzembe helyezését ismertető témakört.
Feljegyzés
Üzembe helyezés esetén a függvényalkalmazás újraindítása aktiválódik. Az üzembe helyezés során jelenleg futó függvényvégrehajtások leállnak. Az állapot nélküli és védekező függvények írásáról további információt az Állapot nélküli függvények írása című részben talál.
A WEBSITE_RUN_FROM_PACKAGE = URL-cím használata
Ez a szakasz arról nyújt tájékoztatást, hogyan futtathatja a függvényalkalmazást egy URL-végponton üzembe helyezett csomagból. Ez az opció az egyetlen támogatott, amely egy Fogyasztási tervvel rendelkező Linux-alapú csomagból futtatható. Ez a beállítás nem támogatott a Flex Consumption csomagban.
Az URL-címről történő üzembe helyezés szempontjai
- Ne állítsa be
WEBSITE_RUN_FROM_PACKAGE = <URL>az alkalmazásokat a Flex Consumption csomagban. Ez a beállítás nem támogatott. - A Windows rendszeren futó függvényalkalmazások esetében a kezdeti indítási idő enyhén növekszik, amikor az alkalmazáscsomagot egy URL-végponton keresztül helyezik üzembe.
- URL-cím megadásakor manuálisan is szinkronizálnia kell az eseményindítókat a frissített csomag közzététele után.
- A Functions-futtatókörnyezetnek engedélyekkel kell rendelkeznie a csomag URL-címének eléréséhez.
- Ne helyezze üzembe a csomagot az Azure Blob Storage-ban nyilvános blobként. Ehelyett használjon egy privát tárolót egy közös hozzáférésű jogosultságkóddal (SAS), vagy használjon felügyelt identitást a Functions-futtatókörnyezet számára a csomag eléréséhez.
- Az üzembe helyezéshez használt SAS-URL-címeket meg kell őriznie. Ha egy SAS lejár, a csomag már nem telepíthető. Ebben az esetben létre kell hoznia egy új SAS-t, és frissítenie kell a beállítást a függvényalkalmazásban. Ezt a felügyeleti terhet egy felügyelt identitással szüntetheti meg.
- Prémium csomagon való futtatáskor mindenképpen szüntesse meg a hidegindítást.
- Ha dedikált csomagon fut, győződjön meg arról, hogy engedélyezi az Always On szolgáltatást.
- Az Azure Storage Explorerrel csomagfájlokat tölthet fel a tárfiók blobtárolóiba.
Csomag manuális feltöltése a Blob Storage-ba
Ha tömörített csomagot szeretne üzembe helyezni az URL-beállítás használatakor, létre kell hoznia egy .zip tömörített üzembehelyezési csomagot, és fel kell töltenie a célhelyre. A következő eljárás a Blob Storage-tárolóban üzembe helyezhető:
Hozzon létre egy .zip csomagot a projekthez a választott segédprogrammal.
Az Azure Portalon keresse meg a tárfiók nevét, vagy keresse meg a tárfiókok listájában.
A tárfiókban válassza a Tárolók lehetőséget az Adattárolás csoportban.
Válassza a + Tároló lehetőséget egy új Blob Storage-tároló létrehozásához a fiókjában.
Az Új tároló lapon adjon meg egy nevet (például üzembe helyezéseket), győződjön meg arról, hogy a névtelen hozzáférési szintprivát, majd válassza a Létrehozás lehetőséget.
Jelölje ki a létrehozott tárolót, válassza a Feltöltés lehetőséget, keresse meg a projekttel létrehozott .zip fájl helyét, majd válassza a Feltöltés lehetőséget.
A feltöltés befejezése után válassza ki a feltöltött blobfájlt, és másolja ki az URL-címet. Ha nem felügyelt identitást használ, előfordulhat, hogy létre kell hoznia egy SAS URL-címet.
Keressen rá a függvényalkalmazására, vagy böngésszen a Függvényalkalmazás lapon.
A függvényalkalmazásban bontsa ki a Beállítások elemet, majd válassza a Környezeti változók lehetőséget.
Az Alkalmazásbeállítások lapon válassza a + Hozzáadás lehetőséget.
Adja meg a
WEBSITE_RUN_FROM_PACKAGEértékét, és illessze be a csomag URL-címét az érték Blob Storage-ba.Válassza az Alkalmaz lehetőséget, majd az Alkalmaz és megerősítés lehetőséget a beállítás mentéséhez és a függvényalkalmazás újraindításához.
Most futtathatja a függvényt az Azure-ban annak ellenőrzéséhez, hogy az üzembe helyezési csomag .zip fájl telepítése sikeres volt-e.
Csomag lekérése az Azure Blob Storage-ból felügyelt identitás használatával
Az Azure Blob Storage konfigurálható úgy, hogy a Microsoft Entra-azonosítóval engedélyezze a kéréseket. Ez a konfiguráció azt jelenti, hogy a lejárattal rendelkező SAS-kulcs létrehozása helyett az alkalmazás felügyelt identitására támaszkodhat. Alapértelmezés szerint a rendszer az alkalmazás rendszer által hozzárendelt identitását használja. Ha felhasználó által hozzárendelt identitást szeretne megadni, beállíthatja az WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID alkalmazásbeállítást az identitás erőforrás-azonosítójára. A beállítás értékként is elfogadható SystemAssigned , ami egyenértékű a beállítás kihagyásával.
A csomag lekérésének engedélyezése az identitással:
Győződjön meg arról, hogy a blob privát hozzáférésre van konfigurálva.
Adja meg a személyazonosságnak a Storage Blob Adatolvasó szerepkört a csomag blob feletti hatókörrel. A szerepkör-hozzárendelés létrehozásával kapcsolatos részletekért lásd : Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshez.
Állítsa be az
WEBSITE_RUN_FROM_PACKAGEalkalmazásbeállítást a csomag blob URL-címére. Az URL általábanhttps://{storage-account-name}.blob.core.windows.net/{container-name}/{path-to-package}formátumú vagy hasonló.Ha felhasználó által hozzárendelt identitást szeretne megadni, beállíthatja az
WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_IDalkalmazásbeállítást az identitás erőforrás-azonosítójára. A beállítás a "SystemAssigned" értéket is elfogadhatja, bár ez megegyezik a beállítás teljes kihagyásával. Az erőforrás-azonosító az Azure-beli erőforrások szabványos reprezentációja. A felhasználó által hozzárendelt felügyelt identitás esetében ez lesz/subscriptions/subid/resourcegroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name. A felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítóját a Beállítások –>Tulajdonságok –>felhasználó által hozzárendelt felügyelt identitás azon osítóján szerezhetjük be.