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

  1. Aby rozpocząć, zaloguj się do witryny Azure Portal przy użyciu konta platformy Azure. Na pasku wyszukiwania w górnej części portalu wprowadź nazwę aplikacji funkcji i wybierz ją z listy.

  2. W obszarze Ustawienia w okienku po lewej stronie wybierz pozycję Konfiguracja.

    Omówienie aplikacji funkcji w witrynie Azure Portal

Możesz przejść do wszystkich elementów potrzebnych do zarządzania aplikacją funkcji na stronie przeglądu, w szczególności do ustawień aplikacji i funkcji platformy.

Praca z ustawieniami aplikacji

Możesz utworzyć dowolną liczbę ustawień aplikacji wymaganych przez kod funkcji. Istnieją również wstępnie zdefiniowane ustawienia aplikacji używane przez funkcje. Aby dowiedzieć się więcej, zobacz Dokumentację ustawień aplikacji dla usługi Azure Functions.

Te ustawienia są przechowywane jako zaszyfrowane. Aby dowiedzieć się więcej, 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. Ustawienia aplikacji można również zarządzać za pomocą programu Visual Studio Code i programu Visual Studio.

Aby znaleźć ustawienia aplikacji, zobacz Rozpoczynanie pracy w witrynie Azure Portal.

Karta Ustawienia aplikacji obsługuje ustawienia używane przez aplikację funkcji. Musisz wybrać pozycję Pokaż wartości , aby wyświetlić wartości w portalu. Aby dodać ustawienie w portalu, wybierz pozycję Nowe ustawienie aplikacji i dodaj nową parę klucz-wartość.

Ustawienia aplikacji funkcji w witrynie Azure Portal.

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 tematach 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 dowiedzieć się więcej, 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, ta metoda nie jest zalecana. Aby bezpiecznie przesyłać pliki projektu, zawsze używaj protokołów FTPS, a nie FTP.

Poświadczenia wymagane do wdrożenia usługi FTPS można uzyskać przy użyciu 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 należy zabezpieczyć 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 dowiedzieć się więcej, 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 Portal Interfejs wiersza polecenia platformy Azure/program PowerShell
Zużycie Zużycie Dynamic
Premium ElasticPremium ElasticPremium
Dedykowane (App Service) Różne Różne

Aby określić typ planu używanego przez aplikację funkcji, zobacz Plan usługi App Service na karcie Przegląd aplikacji funkcji w witrynie Azure Portal. Aby wyświetlić warstwę cenową, wybierz nazwę planu usługi App Service, a następnie wybierz pozycję Właściwości w okienku po lewej stronie.

Wyświetlanie planu skalowania w portalu

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 obecnie 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.

Uzyskiwanie kluczy dostępu do funkcji

Funkcje wyzwalane przez protokół HTTP mogą być zwykle wywoływane przy użyciu adresu URL w formacie: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Gdy autoryzacja funkcji jest ustawiona na wartość inną niż anonymous, musisz również podać klucz dostępu w żądaniu. Klucz dostępu można podać w adresie URL przy użyciu ?code= ciągu zapytania lub nagłówka żądania. Aby dowiedzieć się więcej, zobacz Klucze dostępu do funkcji. Istnieje kilka sposobów uzyskiwania kluczy dostępu.

  1. Zaloguj się do witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Aplikacja funkcji.

  2. Wybierz funkcję, którą chcesz zweryfikować.

  3. W obszarze nawigacji po lewej stronie w obszarze Funkcje wybierz pozycję Klucze aplikacji.

    Spowoduje to zwrócenie kluczy hosta, które mogą służyć do uzyskiwania dostępu do dowolnej funkcji w aplikacji. Zwraca również klucz systemowy, który zapewnia każdemu użytkownikowi dostęp na poziomie administratora do wszystkich interfejsów API aplikacji funkcji.

Możesz również ćwiczyć najmniejsze uprawnienia, używając klucza tylko dla określonego klucza funkcji, wybierając pozycję Klucze funkcji w obszarze Deweloper w funkcji wyzwalanej przez protokół HTTP.

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 obecnie obsługiwane tylko w przypadku funkcji, które zostały utworzone lub ostatnio zmodyfikowane w portalu.
  • Edytowanie w portalu jest obsługiwane tylko w przypadku funkcji JavaScript, PowerShell, Python i C# Script.
  • Edytowanie w portalu nie jest obecnie obsługiwane w wersji zapoznawczej planu Flex Consumption.
  • Podczas wdrażania kodu w aplikacji funkcji spoza portalu 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, należy opracowywać funkcje lokalnie i publikować 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 należy edytować 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 usługi Functions 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, a następnie w obszarze Narzędzia programistyczne wybierz pozycję Narzędzia>zaawansowane Przejdź.

  2. Jeśli zostanie wyświetlony monit, zaloguj się do witryny 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ę , na przykład extensions.csproj i 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ą w systemie i są obsługiwane przez platformę usługi aplikacja systemu Azure Service. W związku z tym aplikacje funkcji mają dostęp do większości funkcji podstawowej platformy hostingu internetowego platformy Azure. Podczas pracy w witrynie 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 portalu przez plan hostingu i system operacyjny:

Funkcja Plan Zużycie Plan Premium Dedykowany plan
Narzędzia zaawansowane (Kudu) Windows: ✔
Linux: X
Edytor usługi App Service Windows: ✔
Linux: X
Windows: ✔
Linux: X
Windows: ✔
Linux: X
Tworzenie kopii zapasowych X X
Konsola Windows: wiersz polecenia
Linux: 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

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. Umożliwia to 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.

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

Konsola

Konsola aplikacji funkcji

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.

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

Narzędzia zaawansowane (Kudu)

Konfigurowanie narzędzia 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/

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.

Konfigurowanie listy mechanizmu CORS aplikacji funkcji

Symbol wieloznaczny (*) jest ignorowany, jeśli istnieje inny wpis domeny.

Uwierzytelnianie

Konfigurowanie uwierzytelniania dla aplikacji funkcji

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ć szczegółowe informacje na temat konfigurowania określonych dostawców uwierzytelniania, zobacz omówienie uwierzytelniania usługi aplikacja systemu Azure Service.

Następne kroki