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:
Zaloguj się w witrynie Azure Portal przy użyciu konta platformy Azure. Wyszukaj aplikację funkcji i wybierz ją.
W lewym okienku aplikacji funkcji rozwiń węzeł Ustawienia, wybierz pozycję Zmienne środowiskowe, a następnie wybierz kartę Ustawienia aplikacji.
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:
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:
- Wstępnie skompilowane środowisko C#
- Skrypt języka C# (csx)
- Java
- JavaScript
- Program PowerShell
- Python
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:
W witrynie Azure Portal znajdź stronę aplikacji funkcji, rozwiń węzeł Konfiguracja ustawień>w lewej kolumnie.
Na stronie Konfiguracja wybierz kartę Ustawienia ogólne i upewnij się, że poświadczenia publikowania uwierzytelniania podstawowego programu SCM są włączone. Jeśli to ustawienie jest wyłączone, nie można używać profilów publikowania, dlatego wybierz pozycję Włączone, a następnie pozycję Zapisz.
Wróć do strony Przegląd aplikacji funkcji, a następnie wybierz pozycję Pobierz profil publikowania.
Zapisz i skopiuj zawartość pliku.
- W pliku znajdź
publishProfile
element z atrybutempublishMethod="FTP"
. W tym elemeciepublishUrl
atrybuty ,userName
iuserPWD
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 |
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.
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.
Ograniczenia programistyczne w witrynie Azure Portal
W poniższej tabeli przedstawiono systemy operacyjne i języki, które obsługują edycję w portalu:
Język | Zużycie w systemie Windows | Windows Premium | Windows Dedicated | Zużycie w systemie Linux | Linux Premium | Linux Dedicated |
---|---|---|---|---|---|---|
C# | ||||||
Java | ||||||
JavaScript (Node.js) | ✔ | ✔ | ✔ | ✔ | ✔ | |
Python | ✔ | ✔ | ✔ | |||
PowerShell | ✔ | ✔ | ✔ | |||
TypeScript (Node.js) |
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 języka Python programowanie za pomocą modułów niestandardowych nie jest obecnie obsługiwane w portalu. Aby dodać moduły niestandardowe do aplikacji funkcji, należy utworzyć aplikację lokalnie.
- 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:
Wybierz aplikację funkcji, a następnie w obszarze Funkcje wybierz pozycję Funkcje.
Wybierz funkcję i wybierz pozycję Kod i test w obszarze Deweloper.
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):
Wybierz aplikację funkcji, rozwiń węzeł Narzędzia programistyczne, a następnie wybierz pozycję Narzędzia>zaawansowane Przejdź.
Jeśli zostanie wyświetlony monit, zaloguj się do witryny Menedżera kontroli źródła (SCM) przy użyciu poświadczeń platformy Azure.
W menu Konsola debugowania wybierz pozycję CMD.
Przejdź do
.\site\wwwroot
pozycji , wybierz przycisk plus (+) u góry, a następnie wybierz pozycję Nowy plik.Nadaj plikowi nazwę, taką jak
extensions.csproj
, a następnie naciśnij Enter.Wybierz przycisk edytuj obok nowego pliku, dodaj lub zaktualizuj kod w pliku, a następnie wybierz pozycję Zapisz.
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.
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.
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/
.
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.
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 X. Aby uzyskać informacje na temat konfigurowania określonych dostawców uwierzytelniania, zobacz omówienie uwierzytelniania usługi aplikacja systemu Azure.