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ő AzureWebJobs.<FUNCTION_NAME>.Disabledformátumbantrue. 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.

Megjegyzés

Az alkalmazásbeállítások módosítása miatt a függvényalkalmazás alapértelmezés szerint újraindul az összes üzemeltetési csomagban. Állásidő nélküli üzembe helyezésekhez a beállítások módosításakor használja a Rugalmas kihasználtság csomagot, és alkalmazzon gördülő frissítéseket a webhelyfrissítési stratégia részeként. További tárhely tervekért tekintse meg az üzemtelepítések optimalizálását az állásidő minimalizálásához szükséges útmutatásért.

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 function appban a portál használatával, ha helyi projektből teszi közzé a function appot.

Megjegyzé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.

Funkciók letiltása egy foglalatban

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 szokták letiltani az időzítő által aktivált függvényeket a slotokban az egyidejű végrehajtások megakadályozása érdekében.

Egy funkció letiltása csak a staging tárhelyen:

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 AzureWebJobs.<FUNCTION_NAME>.Disabled nevű alkalmazásbeállítást true értékkel a példányhely konfigurációjához. 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 az opció a foglalattal együtt megtartja a beállítás értékét 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 funkciók ugyanolyan módon 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.