Udostępnij za pośrednictwem


Zarządzanie aplikacją funkcji

W usłudze Azure Functions aplikacja funkcji udostępnia kontekst wykonywania poszczególnych funkcji. Zachowania aplikacji funkcji mają zastosowanie do wszystkich funkcji hostowanych przez daną aplikację funkcji. Wszystkie funkcje w aplikacji funkcji muszą być w tym samym języku.

Poszczególne funkcje w aplikacji funkcji są wdrażane razem i są skalowane razem. Wszystkie funkcje w tej samej aplikacji funkcji współdzielą zasoby na wystąpienie, co aplikacja funkcji skaluje.

Parametry połączenia, zmienne środowiskowe i inne ustawienia aplikacji są definiowane oddzielnie dla każdej aplikacji funkcji. Wszystkie dane, które muszą być współużytkowane przez aplikacje funkcji, powinny być przechowywane zewnętrznie w utrwalonej magazynie.

Rozpocznij pracę w witrynie Azure Portal

Uwaga

Ze względu na ograniczenia dotyczące edytowania kodu funkcji w witrynie Azure Portal należy opracowywać funkcje lokalnie i publikować projekt kodu w aplikacji funkcji na platformie Azure. Aby uzyskać więcej informacji, zobacz Ograniczenia programistyczne w witrynie Azure Portal

Aby wyświetlić ustawienia aplikacji w aplikacji funkcji, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal przy użyciu konta platformy Azure. Wyszukaj aplikację funkcji i wybierz ją.

  2. W lewym okienku aplikacji funkcji rozwiń węzeł Ustawienia, wybierz pozycję Zmienne środowiskowe, a następnie wybierz kartę Ustawienia aplikacji.

    Zrzut ekranu przedstawiający sposób wybierania strony Ustawienia aplikacji w aplikacji funkcji.

Praca z ustawieniami aplikacji

Oprócz wstępnie zdefiniowanych ustawień aplikacji używanych przez usługę Azure Functions można utworzyć dowolną liczbę ustawień aplikacji zgodnie z wymaganiami kodu funkcji. Aby uzyskać więcej informacji, zobacz Dokumentacja ustawień aplikacji dla usługi Azure Functions.

Te ustawienia są przechowywane jako zaszyfrowane. Aby uzyskać więcej informacji, zobacz Zabezpieczenia ustawień aplikacji.

Ustawienia aplikacji można zarządzać w witrynie Azure Portal i przy użyciu interfejsu wiersza polecenia platformy Azure i programu Azure PowerShell. Możesz również zarządzać ustawieniami aplikacji za pomocą programu Visual Studio Code i programu Visual Studio.

Aby wyświetlić ustawienia aplikacji, zobacz Rozpoczynanie pracy w witrynie Azure Portal.

Karta Ustawienia aplikacji obsługuje ustawienia używane przez aplikację funkcji:

  1. Aby wyświetlić wartości ustawień aplikacji, wybierz pozycję Pokaż wartości.

  2. Aby dodać ustawienie, wybierz pozycję + Dodaj, a następnie wprowadź nazwę i wartość nowej pary klucz-wartość.

    Zrzut ekranu przedstawiający stronę Ustawienia aplikacji w aplikacji funkcji.

Korzystanie z ustawień aplikacji

Wartości ustawień aplikacji funkcji można również odczytywać w kodzie jako zmienne środowiskowe. Aby uzyskać więcej informacji, zobacz sekcję Zmienne środowiskowe w tych artykułach referencyjnych specyficznych dla języka:

Podczas lokalnego tworzenia aplikacji funkcji należy zachować lokalne kopie tych wartości w pliku projektu local.settings.json . Aby uzyskać więcej informacji, zobacz Plik ustawień lokalnych.

Ustawienia wdrażania usługi FTPS

Usługa Azure Functions obsługuje wdrażanie kodu projektu w aplikacji funkcji przy użyciu protokołu FTPS. Ponieważ ta metoda wdrażania wymaga synchronizacji wyzwalaczy, nie jest zalecana. Aby bezpiecznie przesyłać pliki projektu, zawsze używaj protokołów FTPS, a nie FTP.

Aby uzyskać poświadczenia wymagane do wdrożenia usługi FTPS, użyj jednej z następujących metod:

Poświadczenia publikowania FTPS można pobrać w witrynie Azure Portal, pobierając profil publikowania dla aplikacji funkcji.

Ważne

Profil publikowania zawiera ważne poświadczenia zabezpieczeń. Zawsze zabezpieczaj pobrany plik na komputerze lokalnym.

Aby pobrać profil publikowania aplikacji funkcji:

  1. Wybierz stronę Przegląd aplikacji funkcji, a następnie wybierz pozycję Pobierz profil publikowania.

    Pobierz profil publikowania

  2. Zapisz i skopiuj zawartość pliku.

  1. W pliku znajdź publishProfile element z atrybutem publishMethod="FTP". W tym elemecie publishUrlatrybuty , userNamei userPWD zawierają docelowy adres URL i poświadczenia publikowania FTPS.

Typ planu hostingu

Podczas tworzenia aplikacji funkcji utworzysz również plan hostingu, w którym działa aplikacja. Plan może mieć co najmniej jedną aplikację funkcji. Funkcje, skalowanie i cennik funkcji zależą od typu planu. Aby uzyskać więcej informacji, zobacz Opcje hostingu usługi Azure Functions.

Typ planu używanego przez aplikację funkcji można określić w witrynie Azure Portal lub przy użyciu interfejsu wiersza polecenia platformy Azure lub interfejsów API programu Azure PowerShell.

Następujące wartości wskazują typ planu:

Typ planu Azure Portal Interfejs wiersza polecenia platformy Azure/program PowerShell
Zużycie Zużycie Dynamic
Premium ElasticPremium ElasticPremium
Dedykowane (App Service) Różne Różne
  1. Aby określić typ planu używanego przez aplikację funkcji, zobacz plan usługi App Service na stronie Przegląd aplikacji funkcji w witrynie Azure Portal.

    Zrzut ekranu przedstawiający link Plan usługi App Service na stronie Przegląd aplikacji funkcji.

  2. Aby wyświetlić warstwę cenową, wybierz nazwę planu usługi App Service, a następnie wybierz pozycję Właściwości ustawień > w okienku po lewej stronie.

Planowanie migracji

Aplikację funkcji można migrować między planem Zużycie i planem Premium w systemie Windows. Podczas migracji między planami należy pamiętać o następujących kwestiach:

  • Bezpośrednia migracja do dedykowanego planu (App Service) nie jest obsługiwana.
  • Migracja nie jest obsługiwana w systemie Linux.
  • Plan źródłowy i plan docelowy muszą znajdować się w tej samej grupie zasobów i regionie geograficznym. Aby uzyskać więcej informacji, zobacz Przenoszenie aplikacji do innego planu usługi App Service.
  • Określone polecenia interfejsu wiersza polecenia zależą od kierunku migracji.
  • Przestój w wykonaniach funkcji występuje, gdy aplikacja funkcji jest migrowana między planami.
  • Stan i inna zawartość specyficzna dla aplikacji jest utrzymywana, ponieważ ten sam udział usługi Azure Files jest używany przez aplikację zarówno przed migracją, jak i po migracji.

Plan można migrować przy użyciu następujących narzędzi:

Aby przełączyć się do innego planu, możesz użyć witryny Azure Portal .

Wybierz kierunek migracji aplikacji w systemie Windows.

  1. W witrynie Azure Portal przejdź do aplikacji Plan zużycie i wybierz pozycję Zmień plan usługi App Service w obszarze Plan usługi App Service.

  2. Wybierz pozycję Premium w obszarze Typ planu, utwórz nowy plan Premium i wybierz przycisk OK.

Aby uzyskać więcej informacji, zobacz Przenoszenie aplikacji do innego planu usługi App Service.

Ograniczenia programistyczne w witrynie Azure Portal

Podczas opracowywania funkcji w witrynie Azure Portal należy wziąć pod uwagę następujące ograniczenia:

  • Edytowanie w portalu jest obsługiwane tylko w przypadku funkcji utworzonych lub ostatnio zmodyfikowanych w witrynie Azure Portal.
  • Edytowanie w portalu jest obsługiwane tylko w przypadku funkcji JavaScript, PowerShell, Python i C# Script.
  • Edytowanie w portalu nie jest obsługiwane w wersji zapoznawczej planu Flex Consumption.
  • Podczas wdrażania kodu w aplikacji funkcji spoza witryny Azure Portal nie można już edytować żadnego kodu dla tej aplikacji funkcji w portalu. W tym przypadku po prostu kontynuuj korzystanie z lokalnego programowania.
  • W przypadku skompilowanych funkcji języka C# i funkcji Języka Java można utworzyć aplikację funkcji i powiązane zasoby w portalu. Należy jednak utworzyć projekt kodu funkcji lokalnie, a następnie opublikować go na platformie Azure.

Jeśli to możliwe, opracuj funkcje lokalnie i opublikuj projekt kodu w aplikacji funkcji na platformie Azure. Aby uzyskać więcej informacji, zobacz Kod i testowanie usługi Azure Functions lokalnie.

Ręczne instalowanie rozszerzeń

Funkcje biblioteki klas języka C# mogą zawierać pakiety NuGet dla rozszerzeń powiązań bezpośrednio w projekcie biblioteki klas. W przypadku innych języków non-.NET i skryptu języka C# należy użyć pakietów rozszerzeń. Jeśli musisz ręcznie zainstalować rozszerzenia, możesz to zrobić przy użyciu narzędzi Azure Functions Core Tools lokalnie. Jeśli nie możesz używać pakietów rozszerzeń i nie możesz pracować tylko w portalu, musisz użyć narzędzi zaawansowanych (Kudu), aby ręcznie utworzyć plik extensions.csproj bezpośrednio w witrynie. Najpierw usuń extensionBundle element z pliku host.json .

Ten sam proces działa w przypadku każdego innego pliku, który należy dodać do aplikacji.

Ważne

Jeśli to możliwe, nie edytuj plików bezpośrednio w aplikacji funkcji na platformie Azure. Zalecamy lokalne pobieranie plików aplikacji przy użyciu narzędzi Core Tools do instalowania rozszerzeń i innych pakietów, weryfikowania zmian, a następnie ponownego publikowania aplikacji przy użyciu narzędzi Core Tools lub jednej z innych obsługiwanych metod wdrażania.

Edytor funkcji wbudowany w witrynę Azure Portal umożliwia aktualizowanie kodu funkcji i plików konfiguracji bezpośrednio w portalu:

  1. Wybierz aplikację funkcji, a następnie w obszarze Funkcje wybierz pozycję Funkcje.

  2. Wybierz funkcję i wybierz pozycję Kod i test w obszarze Deweloper.

  3. Wybierz plik do edycji i wybierz pozycję Zapisz po zakończeniu.

Pliki w katalogu głównym aplikacji, takie jak function.proj lub extensions.csproj, muszą zostać utworzone i edytowane przy użyciu narzędzi zaawansowanych (Kudu):

  1. Wybierz aplikację funkcji, rozwiń węzeł Narzędzia programistyczne, a następnie wybierz pozycję Narzędzia>zaawansowane Przejdź.

  2. Jeśli zostanie wyświetlony monit, zaloguj się do witryny Menedżera kontroli źródła (SCM) przy użyciu poświadczeń platformy Azure.

  3. W menu Konsola debugowania wybierz pozycję CMD.

  4. Przejdź do .\site\wwwrootpozycji , wybierz przycisk plus (+) u góry, a następnie wybierz pozycję Nowy plik.

  5. Nadaj plikowi nazwę, taką jak extensions.csproj, a następnie naciśnij Enter.

  6. Wybierz przycisk edytuj obok nowego pliku, dodaj lub zaktualizuj kod w pliku, a następnie wybierz pozycję Zapisz.

  7. W przypadku pliku projektu, takiego jak extensions.csproj, uruchom następujące polecenie, aby ponownie skompilować projekt rozszerzeń:

    dotnet build extensions.csproj
    

Funkcje platformy

Aplikacje funkcji działają na platformie usługi aplikacja systemu Azure, która je obsługuje. W związku z tym aplikacje funkcji mają dostęp do większości funkcji podstawowej platformy hostingu internetowego platformy Azure. W przypadku korzystania z witryny Azure Portal lewe okienko to miejsce, w którym uzyskujesz dostęp do wielu funkcji platformy App Service, których można używać w aplikacjach funkcji.

Poniższa macierz wskazuje obsługę funkcji witryny Azure Portal przez plan hostingu i system operacyjny:

Funkcja Plan Zużycie Plan Flex Consumption Plan Premium Dedykowany plan
Narzędzia zaawansowane (Kudu) Windows: ✔
Linux: X
X
Edytor usługi App Service Windows: ✔
Linux: X
X Windows: ✔
Linux: X
Windows: ✔
Linux: X
Tworzenie kopii zapasowych X X X
Konsola Windows: wiersz polecenia
Linux: X
X Windows: wiersz polecenia
Linux: SSH
Windows: wiersz polecenia
Linux: SSH

W pozostałej części tego artykułu skupiono się na następujących funkcjach w portalu, które są przydatne w aplikacjach funkcji:

Aby uzyskać więcej informacji na temat sposobu pracy z ustawieniami usługi App Service, zobacz Konfigurowanie ustawień usługi aplikacja systemu Azure.

Edytor usługi App Service

Edytor usługi App Service to zaawansowany edytor w portalu, którego można użyć do modyfikowania plików konfiguracji JSON i plików kodu. Wybranie tej opcji powoduje uruchomienie oddzielnej karty przeglądarki z edytorem podstawowym. Ten edytor umożliwia integrację z repozytorium Git, uruchamianie i debugowanie kodu oraz modyfikowanie ustawień aplikacji funkcji. Ten edytor udostępnia ulepszone środowisko programistyczne dla funkcji w porównaniu z wbudowanym edytorem funkcji.

Zrzut ekranu przedstawiający edytor usługi App Service.

Zalecamy rozważenie opracowywania funkcji na komputerze lokalnym. Podczas tworzenia lokalnego i publikowania na platformie Azure pliki projektu są tylko do odczytu w witrynie Azure Portal. Aby uzyskać więcej informacji, zobacz Kod i testowanie usługi Azure Functions lokalnie.

Konsola

Konsola w portalu to idealne narzędzie deweloperskie, jeśli wolisz korzystać z aplikacji funkcji z poziomu wiersza polecenia. Typowe polecenia obejmują tworzenie katalogów i plików oraz nawigację, a także wykonywanie plików wsadowych i skryptów.

Zrzut ekranu przedstawiający konsolę aplikacji funkcji.

Podczas opracowywania lokalnego zalecamy używanie narzędzi Azure Functions Core Tools i interfejsu wiersza polecenia platformy Azure.

Narzędzia zaawansowane (Kudu)

Zaawansowane narzędzia dla usługi App Service (znanej również jako Kudu) zapewniają dostęp do zaawansowanych funkcji administracyjnych aplikacji funkcji. W usłudze Kudu można zarządzać informacjami systemowymi, ustawieniami aplikacji, zmiennymi środowiskowymi, rozszerzeniami witryny, nagłówkami HTTP i zmiennymi serwera. Możesz również uruchomić narzędzie Kudu , przechodząc do punktu końcowego SCM dla aplikacji funkcji, na przykład: https://<myfunctionapp>.scm.azurewebsites.net/.

Zrzut ekranu przedstawiający zaawansowane narzędzia dla usługi App Service (Kudo).

Centrum wdrażania

Gdy używasz rozwiązania kontroli źródła do tworzenia i obsługi kodu funkcji, Centrum wdrażania umożliwia kompilowanie i wdrażanie z kontroli źródła. Projekt jest kompilowany i wdrażany na platformie Azure podczas wprowadzania aktualizacji. Aby uzyskać więcej informacji, zobacz Technologie wdrażania w usłudze Azure Functions.

Współużytkowanie zasobów między źródłami

Aby zapobiec złośliwemu wykonywaniu kodu na kliencie, nowoczesne przeglądarki blokują żądania z aplikacji internetowych do zasobów uruchomionych w oddzielnej domenie. Współużytkowanie zasobów między źródłami (CORS) umożliwia Access-Control-Allow-Origin nagłówkowi deklarowanie źródeł, które źródła mogą wywoływać punkty końcowe w aplikacji funkcji.

Po skonfigurowaniu listy Dozwolone źródła dla aplikacji Access-Control-Allow-Origin funkcji nagłówek jest automatycznie dodawany do wszystkich odpowiedzi z punktów końcowych HTTP w aplikacji funkcji.

Zrzut ekranu przedstawiający sposób konfigurowania listy mechanizmu CORS aplikacji funkcji.

Jeśli istnieje inny wpis domeny, symbol wieloznaczny (*) jest ignorowany.

Uwierzytelnianie

Gdy funkcje używają wyzwalacza HTTP, można wymagać, aby wywołania najpierw mogły zostać uwierzytelnione. Usługa App Service obsługuje uwierzytelnianie i logowanie firmy Microsoft przy użyciu dostawców społecznościowych, takich jak Facebook, Microsoft i Twitter. Aby uzyskać informacje na temat konfigurowania określonych dostawców uwierzytelniania, zobacz omówienie uwierzytelniania usługi aplikacja systemu Azure.

Zrzut ekranu przedstawiający sposób konfigurowania uwierzytelniania dla aplikacji funkcji.