Udostępnij za pośrednictwem


Jak wyłączyć funkcje w usłudze Azure Functions

W tym artykule wyjaśniono, jak wyłączyć funkcję w usłudze Azure Functions. Aby wyłączyć funkcję, oznacza, że środowisko uruchomieniowe ignoruje zdarzenie przeznaczone do wyzwolenia funkcji. Ta możliwość umożliwia zapobieganie uruchamianiu określonej funkcji bez konieczności modyfikowania i ponownego publikowania całej aplikacji funkcji.

Funkcję można wyłączyć, tworząc ustawienie aplikacji w formacie AzureWebJobs.<FUNCTION_NAME>.Disabled ustawionym na truewartość . To ustawienie aplikacji można utworzyć i zmodyfikować na kilka sposobów, w tym przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell i karty Przegląd funkcji w witrynie Azure Portal.

Zmiany ustawień aplikacji powodują ponowne uruchomienie aplikacji funkcji. Aby uzyskać więcej informacji, zobacz Dokumentacja ustawień aplikacji dla usługi Azure Functions.

Wyłączanie funkcji

Użyj jednego z tych trybów, aby utworzyć ustawienie aplikacji, które wyłącza przykładową funkcję o nazwie QueueTrigger:

Użyj przycisków Włącz i Wyłącz na stronie Przegląd funkcji. Te przyciski działają, zmieniając wartość AzureWebJobs.QueueTrigger.Disabled ustawienia aplikacji. Ustawienie aplikacji specyficznej dla funkcji jest tworzone po raz pierwszy, gdy funkcja jest wyłączona.

Function state switch

Nawet w przypadku publikowania w aplikacji funkcji z projektu lokalnego nadal można użyć portalu, aby wyłączyć funkcje w aplikacji funkcji.

Uwaga

Wyłączone funkcje mogą być nadal uruchamiane przez wywołanie punktu końcowego REST przy użyciu klucza głównego. Aby dowiedzieć się więcej, zobacz Uruchamianie wyłączonej funkcji. Oznacza to, że wyłączona funkcja nadal jest uruchamiana po uruchomieniu z okna Testuj/Uruchom w portalu przy użyciu głównego (klucza hosta).

Wyłączanie funkcji w miejscu

Domyślnie ustawienia aplikacji dotyczą również aplikacji uruchomionych w miejscach wdrożenia. Można jednak zastąpić ustawienie aplikacji używane przez miejsce, ustawiając ustawienie aplikacji specyficzne dla miejsca. Na przykład możesz chcieć, aby funkcja działała w środowisku produkcyjnym, ale nie podczas testowania wdrożenia. Często wyłącza się funkcje wyzwalane przez czasomierz w gniazdach, aby zapobiec równoczesnym wykonywaniu.

Aby wyłączyć funkcję tylko w miejscu przejściowym:

Przejdź do wystąpienia miejsca aplikacji funkcji, wybierając pozycję Miejsca wdrożenia w obszarze Wdrożenie, wybierając miejsce i wybierając pozycję Funkcje w wystąpieniu miejsca. Wybierz funkcję, a następnie użyj przycisków Włącz i Wyłącz na stronie Przegląd funkcji. Te przyciski działają, zmieniając wartość AzureWebJobs.<FUNCTION_NAME>.Disabled ustawienia aplikacji. To ustawienie specyficzne dla funkcji jest tworzone przy pierwszym wyłączeniu funkcji.

Możesz również bezpośrednio dodać ustawienie aplikacji o nazwie AzureWebJobs.<FUNCTION_NAME>.Disabled z wartością true w konfiguracji dla wystąpienia miejsca. Po dodaniu ustawienia aplikacji specyficznego dla miejsca upewnij się, że jest zaznaczone pole Ustawienia miejsca wdrożenia. Ta opcja utrzymuje wartość ustawienia z miejscem podczas zamian.

Aby dowiedzieć się więcej, zobacz Miejsca wdrożenia usługi Azure Functions.

Uruchamianie wyłączonej funkcji

Nadal można spowodować uruchomienie wyłączonej funkcji, podając klucz główny w żądaniu REST do adresu URL punktu końcowego wyłączonej funkcji. W ten sposób można opracowywać i weryfikować funkcje na platformie Azure w stanie wyłączonym, uniemożliwiając im dostęp przez inne osoby. Użycie dowolnego innego typu klucza w żądaniu zwraca odpowiedź HTTP 404.

Uwaga

Ze względu na podniesione uprawnienia w aplikacji funkcji przyznane przez klucz główny nie należy udostępniać tego klucza innym firmom ani rozpowszechniać go w natywnych aplikacjach klienckich. Zachowaj ostrożność podczas wybierania poziomu dostępu administratora.

Aby dowiedzieć się więcej o kluczu głównym, zobacz Uzyskiwanie kluczy. Aby dowiedzieć się więcej na temat wywoływania funkcji wyzwalanych przez protokół HTTP, zobacz Ręczne uruchamianie funkcji niezwolonej przez protokół HTTP.

Wyłączanie funkcji lokalnie

Funkcje można wyłączyć w taki sam sposób, gdy działają lokalnie. Aby wyłączyć funkcję o nazwie QueueTrigger, dodaj wpis do kolekcji Values w pliku local.settings.json w następujący sposób:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true", 
    "AzureWebJobs.QueueTrigger.Disabled": true
  }
}

Kwestie wymagające rozważenia

Podczas wyłączania funkcji należy pamiętać o następujących kwestiach:

  • Po wyłączeniu funkcji wyzwalanej przez protokół HTTP przy użyciu metod opisanych w tym artykule punkt końcowy będzie nadal dostępny podczas uruchamiania na komputerze lokalnym i w portalu.

  • Obecnie nazwy funkcji, które zawierają łącznik (-) nie mogą być wyłączone podczas uruchamiania w systemie Linux. Jeśli planujesz wyłączyć funkcje podczas uruchamiania w systemie Linux, nie używaj łączników w nazwach funkcji.

Następne kroki

Ten artykuł dotyczy wyłączania wyzwalaczy automatycznych. Aby uzyskać więcej informacji na temat wyzwalaczy, zobacz Wyzwalacze i powiązania.