Zakázání funkcí ve službě Azure Functions
Tento článek vysvětluje, jak zakázat funkci ve službě Azure Functions. Zakázání funkce znamená, že modul runtime ignoruje událost určenou k aktivaci funkce. Tato možnost umožňuje zabránit spuštění konkrétní funkce, aniž byste museli upravovat a znovu publikovat celou aplikaci funkcí.
Funkci můžete zakázat tak, že vytvoříte nastavení aplikace ve formátu AzureWebJobs.<FUNCTION_NAME>.Disabled
nastaveném na true
. Toto nastavení aplikace můžete vytvořit a upravit několika způsoby, včetně použití Azure CLI, Azure PowerShellu a na kartě Přehled vaší funkce na webu Azure Portal.
Změny nastavení aplikace způsobí restartování aplikace funkcí. Další informace najdete v referenčních informacích k nastavení aplikace pro Azure Functions.
Vypnutí funkce
Pomocí jednoho z těchto režimů vytvořte nastavení aplikace, které zakáže ukázkovou funkci s názvem QueueTrigger
:
Na stránce Přehled funkce použijte tlačítka Povolit a Zakázat. Tato tlačítka fungují změnou hodnoty AzureWebJobs.QueueTrigger.Disabled
nastavení aplikace. Nastavení aplikace specifické pro funkci se vytvoří při prvním zakázání funkce.
I když publikujete do aplikace funkcí z místního projektu, můžete pomocí portálu zakázat funkce v aplikaci funkcí.
Poznámka:
Zakázané funkce je stále možné spouštět voláním koncového bodu REST pomocí hlavního klíče. Další informace najdete v tématu Spuštění zakázané funkce. To znamená, že zakázaná funkce se stále spouští při spuštění z okna Test/Run na portálu pomocí hlavního klíče (klíč hostitele).
Zakázání funkcí v slotu
Ve výchozím nastavení platí i pro aplikace spuštěné v slotech nasazení. Nastavení aplikace používané slotem ale můžete přepsat nastavením aplikace specifické pro slot. Můžete například chtít, aby byla funkce aktivní v produkčním prostředí, ale ne během testování nasazení. V slotech je běžné zakázat funkce aktivované časovačem, aby se zabránilo souběžným spuštěním.
Zakázání funkce pouze v přípravném slotu:
Přejděte do instance slotu vaší aplikace funkcí tak, že v části Nasazení vyberete sloty nasazení, zvolíte slot a vyberete Funkce v instanci slotu. Zvolte funkci a pak použijte tlačítka Povolit a Zakázat na stránce Přehled funkce. Tato tlačítka fungují změnou hodnoty AzureWebJobs.<FUNCTION_NAME>.Disabled
nastavení aplikace. Toto nastavení specifické pro funkci se vytvoří při prvním zakázání funkce.
Můžete také přímo přidat nastavení aplikace s názvem AzureWebJobs.<FUNCTION_NAME>.Disabled
s hodnotou true
v konfiguraci instance slotu. Když přidáte nastavení aplikace specifické pro slot, nezapomeňte zaškrtnout políčko Nastavení slotu nasazení. Tato možnost udržuje hodnotu nastavení s slotem během prohození.
Další informace najdete v tématu Sloty nasazení služby Azure Functions.
Spuštění zakázané funkce
Zakázanou funkci můžete přesto spustit zadáním hlavního přístupového klíče (_master
) v požadavku REST na adresu URL koncového bodu zakázané funkce. Tímto způsobem můžete vyvíjet a ověřovat funkce v Azure v zakázaném stavu a zároveň jim zabránit v přístupu jinými uživateli. Použití jakéhokoli jiného typu klíče v požadavku vrátí odpověď HTTP 404.
Upozornění
Vzhledem ke zvýšeným oprávněním v aplikaci funkcí udělených hlavním klíčem byste tento klíč neměli sdílet s třetími stranami ani ho distribuovat v nativních klientských aplikacích. Při výběru úrovně přístupu HTTP správce pro koncové body funkce buďte opatrní.
Další informace o hlavním klíči najdete v tématu Principy klíčů. Další informace o volání funkcí, které nejsou aktivované protokolem HTTP, najdete v tématu Ruční spuštění funkce, která není aktivovaná protokolem HTTP.
Místní zakázání funkcí
Funkce je možné zakázat stejným způsobem při místním spuštění. Chcete-li zakázat funkci s názvem QueueTrigger
, přidejte položku do kolekce Values v souboru local.settings.json následujícím způsobem:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobs.QueueTrigger.Disabled": true
}
}
Důležité informace
Při zakázání funkcí mějte na paměti následující aspekty:
Když zakážete funkci aktivovanou protokolem HTTP pomocí metod popsaných v tomto článku, bude mít koncový bod stále přístup při spuštění na místním počítači a na portálu.
V tuto chvíli se názvy funkcí, které obsahují spojovník (
-
), nedají při spuštění v Linuxu zakázat. Pokud plánujete zakázat funkce při spuštění v Linuxu, nepoužívejte ve svých názvech funkcí pomlčky.
Další kroky
Tento článek se týká zakázání automatických triggerů. Další informace o triggerech najdete v tématu Aktivační události a vazby.