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


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ő trueformá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ű QueueTriggerpé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.

Függvényállapot-kapcsoló

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 QueueTriggerfü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.