Függvények letiltása az Azure Functionsben
Ez a cikk bemutatja, hogyan tilthat le egy függvényt az Azure Functionsben. Egy függvény letiltása azt jelenti, hogy a futtatókörnyezet figyelmen kívül hagyja a függvény aktiválására szánt eseményt. Ezzel a funkcióval megakadályozhatja, hogy egy adott függvény futjon anélkül, hogy módosítania és újra közzé kellene tennie a teljes függvényalkalmazást.
A függvényeket letilthatja úgy, hogy létrehoz egy alkalmazásbeállítást a következő true
formátumbanAzureWebJobs.<FUNCTION_NAME>.Disabled
. Ezt az alkalmazásbeállítást többféleképpen is létrehozhatja és módosíthatja, többek között az Azure CLI, az Azure PowerShell és a függvény Áttekintés lapján az Azure Portalon.
Az alkalmazásbeállítások módosítása miatt a függvényalkalmazás újraindul. További információkért tekintse meg az Azure Functions alkalmazásbeállításokra vonatkozó hivatkozását.
Függvény letiltása
Az alábbi módok egyikével hozzon létre egy olyan alkalmazásbeállítást, amely letiltja a következő nevű QueueTrigger
példafüggvényt:
Használja az Engedélyezés és letiltás gombot a függvény Áttekintés lapján. Ezek a gombok az alkalmazásbeállítás értékének AzureWebJobs.QueueTrigger.Disabled
módosításával működnek. A függvényspecifikus alkalmazásbeállítás akkor jön létre, amikor először le van tiltva egy függvény.
Még akkor is letilthatja a függvényeket a függvényalkalmazásban, ha helyi projektből teszi közzé a függvényalkalmazást.
Feljegyzés
A letiltott függvények továbbra is futtathatók a REST-végpont főkulcs használatával történő meghívásával. További információ: Letiltott függvény futtatása. Ez azt jelenti, hogy a letiltott függvények továbbra is futnak, amikor a portál Teszt/Futtatás ablakából indulnak a főkiszolgáló (gazdagépkulcs) használatával.
Függvények letiltása egy pontban
Alapértelmezés szerint az alkalmazásbeállítások az üzembehelyezési pontokon futó alkalmazásokra is érvényesek. Egy pontspecifikus alkalmazásbeállítás beállításával azonban felülbírálhatja a pont által használt alkalmazásbeállítást. Előfordulhat például, hogy azt szeretné, hogy egy függvény aktív legyen az éles környezetben, de az üzembehelyezési tesztelés során nem. Gyakran letiltja az időzítő által aktivált függvényeket a tárolóhelyeken az egyidejű végrehajtások megakadályozása érdekében.
Ha csak az előkészítési ponton szeretne letiltani egy függvényt:
Navigáljon a függvényalkalmazás pontpéldányához az Üzembe helyezés alatt található üzembehelyezési pontok kiválasztásával, a pont kiválasztásával és a Függvények pontpéldányban való kiválasztásával. Válassza ki a függvényt, majd használja az Engedélyezés és letiltás gombot a függvény Áttekintés lapján. Ezek a gombok az alkalmazásbeállítás értékének AzureWebJobs.<FUNCTION_NAME>.Disabled
módosításával működnek. Ez a függvényspecifikus beállítás akkor jön létre, amikor először letiltja a függvényt.
Közvetlenül is hozzáadhatja a pontpéldány konfigurációjában true
szereplő értékkel elnevezett AzureWebJobs.<FUNCTION_NAME>.Disabled
alkalmazásbeállítást. Pontspecifikus alkalmazásbeállítás hozzáadásakor ellenőrizze az Üzembehelyezési pont beállítás jelölőnégyzetét. Ez a beállítás megtartja a beállítás értékét a ponttal a felcserélések során.
További információkért tekintse meg az Azure Functions üzembehelyezési pontjait.
Letiltott függvény futtatása
A letiltott függvények futtatását továbbra is okozhatja, ha egy REST-kérelemben megadja a fő hozzáférési kulcsot (_master
) a letiltott függvény végponti URL-címének. Ily módon letiltott állapotban fejleszthet és érvényesíthet függvényeket az Azure-ban, és megakadályozhatja, hogy mások hozzáférjenek hozzájuk. Ha bármilyen más típusú kulcsot használ a kérelemben, http 404-választ ad vissza.
Figyelemfelhívás
A főkulcs által megadott függvényalkalmazás emelt szintű engedélyei miatt nem szabad megosztania ezt a kulcsot harmadik felekkel, és nem szabad natív ügyfélalkalmazásokban terjesztenie. A függvényvégpontok rendszergazdai HTTP-hozzáférési szintjének kiválasztásakor körültekintően járjon el.
A főkulcsról további információt a Kulcsok ismertetése című témakörben talál. A nem HTTP által aktivált függvények meghívásáról további információt a nem HTTP-aktivált függvények manuális futtatásával kapcsolatban talál.
Függvények helyi letiltása
A függvények ugyanúgy tilthatók le, ha helyileg futnak. Egy elnevezett QueueTrigger
függvény letiltásához adjon hozzá egy bejegyzést az értékek gyűjteményéhez a local.settings.json fájlban az alábbiak szerint:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobs.QueueTrigger.Disabled": true
}
}
Megfontolások
A függvények letiltásakor vegye figyelembe az alábbi szempontokat:
Ha letilt egy HTTP-aktivált függvényt a cikkben ismertetett módszerekkel, a végpont továbbra is elérhető a helyi számítógépen és a portálon való futtatáskor.
Linuxon való futtatáskor jelenleg nem tilthatók le a kötőjelet (
-
) tartalmazó függvénynevek. Ha linuxos futtatáskor szeretné letiltani a függvényeket, ne használjon kötőjeleket a függvénynevekben.
Következő lépések
Ez a cikk az automatikus eseményindítók letiltásáról szól. Az eseményindítókkal kapcsolatos további információkért tekintse meg az eseményindítókat és kötéseket.