Technologie wdrażania w Azure Functions

Aby wdrożyć kod projektu Azure Functions do Azure, możesz użyć różnych technologii. Ten artykuł zawiera omówienie dostępnych metod wdrażania i zaleceń dotyczących najlepszej metody użycia w różnych scenariuszach. Zawiera również kompleksową listę kluczowych informacji na temat podstawowych technologii wdrażania.

Metody wdrażania

Technologia wdrażania używana do publikowania kodu w aplikacji funkcji w Azure zależy od konkretnych potrzeb i punktu w cyklu programowania. Na przykład podczas programowania i testowania można wdrażać bezpośrednio z poziomu narzędzia programistycznego, takiego jak Visual Studio Code. Gdy aplikacja jest w środowisku produkcyjnym, częściej publikujesz bezpośrednio z systemu kontroli wersji lub przy użyciu zautomatyzowanego potoku publikacyjnego, który może obejmować walidację i testowanie.

W poniższej tabeli opisano dostępne metody wdrażania dla projektu kodu.

Typ wdrożenia Metody Najlepsze dla...
Oparte na narzędziach Azure CLI
Publikowanie w programie Visual Studio Code
Publikowanie w programie Visual Studio
Publikowanie za pomocą Core Tools
Wdrożenia podczas rozwoju i improwizowane wdrożenia. Wdrażanie kodu na żądanie przy użyciu lokalnych narzędzi programistycznych.
Zarządzane przez platformę Centrum Rozmieszczenia (CI/CD)
Wdrożenia kontenerów
Ciągłe wdrażanie (CI/CD) z zarządzania kodem źródłowym lub z rejestru kontenerów. Platforma hostingowa zarządza wdrożeniami.
Potoki zewnętrzne Azure Pipelines
GitHub Actions
Ciągi produkcyjne, które obejmują walidację, testowanie i inne działania, które muszą zostać wykonane w ramach zautomatyzowanego wdrażania. Pipeline zarządza wdrożeniami.

Użyj najlepszej technologii dla konkretnego scenariusza. W przypadku obsługiwanych planów hostingu wiele metod wdrażania korzysta z wdrażania z pliku ZIP.

Dostępność technologii wdrażania

Metoda wdrażania zależy również od planu hostingu i systemu operacyjnego, na którym jest uruchamiana aplikacja funkcji.

Obecnie usługa Functions oferuje pięć opcji hostowania aplikacji funkcji:

Każdy plan ma różne zachowania. Nie wszystkie technologie wdrażania są dostępne dla każdego planu hostingu i systemu operacyjnego. Ten wykres zawiera informacje na temat obsługiwanych technologii wdrażania:

Technologia wdrażania Zużycie elastyczne Zużycie Elastiska premia Dedykowana Container Apps
Wdrożenie pakietu Flex Consumption Supported Niewspierane Niewspierane Niewspierane Niewspierane
Wdrożenie ZIP Niewspierane Supported Supported Supported Niewspierane
Zewnętrzny adres pakietu1 Niewspierane Supported Supported Supported Niewspierane
Obraz kontenera (Docker) Niewspierane Tylko system Linux Tylko system Linux Tylko system Linux Supported
Kontrola źródła Niewspierane tylko Windows Supported Supported Niewspierane
Lokalny Git1 Niewspierane tylko Windows Supported Supported Niewspierane
FTPS1 Niewspierane tylko Windows Supported Supported Niewspierane
Edycja w portalu2 Niewspierane Supported Supported Supported Niewspierane
  1. Nie zaleca się technologii wdrożenia, które wymagają ręcznej synchronizacji wyzwalaczy.
  2. Edycja w portalu jest wyłączona, gdy kod jest wdrażany do aplikacji funkcjonalnej spoza portalu. Aby uzyskać więcej informacji, w tym szczegóły obsługi języka do edycji w portalu, zobacz Szczegóły obsługi języka.

Wybierz swój plan hostingu na górze tego artykułu, aby zobaczyć technologie i zachowania wdrożenia odnoszące się do Twojej aplikacji funkcjonalnej.

Najważniejsze pojęcia

Niektóre kluczowe pojęcia mają kluczowe znaczenie dla zrozumienia sposobu działania wdrożeń w Azure Functions.

Przechowywanie treści aplikacji według planu hostingowego

Lokalizacja wdrożonych treści aplikacji zależy od planu hostingu i technologii wdrożenia:

Plan hostingu Magazyn zawartości aplikacji
Zużycie elastyczne Kontener wdrożenia obiektów blob, który konfigurujesz dla aplikacji funkcji.
Zużycie, Elastic Premium i Dedicated System plików aplikacji, udostępnienie treści Azure Files lub zewnętrzny adres URL pakietu, w zależności od technologii wdrożenia.
Azure Container Apps Obraz kontenera przechowywany w rejestrze kontenerowym.

Synchronizacja wyzwalacza

Gdy wdrożenie dodaje, usuwa lub zmienia funkcję lub jej konfigurację wyzwalacza, infrastruktura Funkcji musi zaktualizować metadane wyzwalacza dla aplikacji funkcji. Ta synchronizacja zachodzi automatycznie dla wielu technologii wdrożeniowych. Jednak w niektórych przypadkach należy ręcznie zsynchronizować wyzwalacze.

Zawsze należy ręcznie synchronizować wyzwalacze podczas korzystania z tych opcji wdrażania:

Możesz ręcznie zsynchronizować wyzwalacze na jeden z tych sposobów:

  • Uruchom ponownie aplikację funkcji w portalu Azure. Host usługi Functions wykonuje synchronizację wyzwalacza w tle po uruchomieniu aplikacji.

  • Użyj polecenia az rest, aby wysłać żądanie HTTP POST, które wywołuje interfejs API syncfunctiontriggers, jak w tym przykładzie:

    az rest --method post --url https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<APP_NAME>/syncfunctiontriggers?api-version=2016-08-01
    

Należy pamiętać o tych zagadnieniach dotyczących operacji wyzwalaczy synchronizacji:

  • Należy ręcznie ponownie uruchomić aplikację funkcji za każdym razem, gdy wdrożysz zaktualizowaną wersję pakietu wdrożeniowego przy użyciu tego samego adresu URL pakietu zewnętrznego.
  • W przypadku aplikacji działających w planie Zużycie lub Elastic Premium należy również ręcznie zsynchronizować wyzwalacze w następujących scenariuszach:
    • W przypadku wdrożeń użyj zewnętrznego adresu URL pakietu z wdrożeniem opartym na menedżerze zasobów przy użyciu szablonów usługi ARM lub Bicep lub plików programu Terraform.
    • Podczas aktualizowania pakietu wdrożeniowego na miejscu przy użyciu tego samego adresu URL pakietu zewnętrznego.
  • Po dodaniu ograniczeń sieciowych do istniejącej aplikacji funkcji należy zagwarantować łączność z domyślnym kontem magazynu hosta ustawionym w ustawieniach aplikacji AzureWebJobsStorage. Aby uzyskać więcej informacji, zobacz Jak użyć zabezpieczonego konta przechowywania z Azure Functions.

Kompilacja zdalna

Podczas wdrażania możesz zażądać Azure Functions wykonania zdalnej kompilacji projektu kodu. W tych scenariuszach zażądaj kompilacji zdalnej zamiast kompilowania lokalnego:

  • Wdrażasz aplikację do funkcji działającej na systemie Linux, którą opracowałeś na komputerze z systemem Windows. Taka sytuacja jest często w przypadku tworzenia aplikacji Python. Po utworzeniu pakietu wdrożeniowego lokalnie na Windows mogą pojawić się niepoprawne biblioteki.
  • Projekt ma zależności od niestandardowego indeksu pakietów.
  • Chcesz zmniejszyć rozmiar pakietu wdrożeniowego.

Sposób żądania kompilacji zdalnej zależy od tego, czy aplikacja działa w Azure w Windows czy Linux.

Wszystkie aplikacje funkcyjne działające na Windows mają towarzyszącą stronę wdrożenia. Ta witryna obsługuje większość logiki wdrażania i kompilacji dla Azure Functions.

Podczas wdrażania aplikacji w Windows proces wdrażania uruchamia polecenia specyficzne dla języka, takie jak dotnet restore (C#) lub npm install (JavaScript).

Podczas wdrażania przy użyciu kompilacji zdalnych należy wziąć pod uwagę następujące kwestie:

  • Kompilacje zdalne są obsługiwane w planie Zużycie dla aplikacji funkcji działających w systemie Linux. Jednak opcje wdrożenia tych aplikacji są ograniczone, ponieważ nie mają one odpowiedniej strony wdrożenia.
  • Aplikacje funkcjonalne działające na Linuksie w planie Elastic Premium lub w planie dedykowanym (App Service) mają towarzyszącą stronę wdrożenia, ale jest ona ograniczona w porównaniu do Windows.
  • Nie ustawiaj WEBSITE_RUN_FROM_PACKAGE , gdy prosisz o zdalną budowę. W przypadku aplikacji Linux Consumption, Elastic Premium i dedykowanych planów można zamiast tego umożliwić zdalne budowanie, korzystając z ustawień wdrożenia opisanych w zakładce Linux . Proces wdrożenia może zapakować wynik budowy i skonfigurować aplikację tak, aby działała z tego pakietu.
  • Problemy z kompilacją zdalną mogą wystąpić podczas tworzenia aplikacji przed udostępnieniem funkcji (1 sierpnia 2019 r.). W przypadku starszych aplikacji utwórz nową aplikację funkcji lub uruchom az functionapp update --resource-group <RESOURCE_GROUP_NAME> --name <APP_NAME>, aby zaktualizować funkcję aplikacji. To polecenie może podjąć dwie próby pomyślne.

Kompilacja zdalna

W przypadku Flex Consumption żądasz zdalnej budowy, przekazując parametr zdalnej budowy na początku wdrożenia. Nie konfigurujesz zdalnej budowy za pomocą ustawień aplikacji. W przypadku Core Tools i Visual Studio Code, zdalna wersja zawsze jest wymagana przy wdrażaniu aplikacji Python. Aby uzyskać więcej informacji, zobacz Wdrażanie.

Magazyn zawartości aplikacji

Flex Consumption przechowuje aktualny pakiet w skonfigurowanym kontenerze pamięci masowej wdrożenia. Domyślnie ten kontener znajduje się na tym samym koncie, którego używa , AzureWebJobsStorageale możesz skonfigurować inne konto pamięci masowej wdrożenia.

Ważne

Konto magazynowe służy do przechowywania ważnych danych aplikacji, czasami włącznie z samym kodem aplikacji. Należy ograniczyć dostęp z innych aplikacji i użytkowników do konta storage.

Magazyn zawartości aplikacji

W zależności od technologii wdrożenia, zawartość aplikacji może być przechowywana w systemie plików aplikacji, w udostępnieniu treści Azure Files lub pod zewnętrznym adresem URL pakietu. W kolejnej sekcji przejrzyj, gdzie przechowywane są treści aplikacji dla każdej technologii wdrożenia.

Ważne

Konto magazynowe służy do przechowywania ważnych danych aplikacji, czasami włącznie z samym kodem aplikacji. Należy ograniczyć dostęp z innych aplikacji i użytkowników do konta storage.

Zabezpieczone sieci wirtualne

Gdy twoja aplikacja funkcjonalna ma włączone prywatne punkty końcowe, a dostęp do sieci publicznej jest wyłączony, punkt wdrożenia nie jest publicznie dostępny. Narzędzia do wdrażania push, w tym Core Tools, Visual Studio Code, Azure CLI, GitHub Actions oraz Azure Pipelines, wysyłają pakiety do tego punktu końcowego. Maszyna, program uruchamiający lub agent wykonujący wdrożenie musi mieć zarówno łączność sieciową, jak i możliwość rozpoznawania nazw DNS dla prywatnego punktu końcowego wdrożenia.

Możesz zapewnić tę łączność w następujący sposób:

Zasób wdrożenia może znajdować się w tej samej sieci wirtualnej lub w sieci, która ma łączność routingu i rozpoznawania nazw DNS z prywatnym punktem końcowym, takiej jak sparowana sieć wirtualna.

Wdrożenia pakietów oparte na Resource Manager nie wysyłają pakietu z klienta inicjującego do punktu końcowego wdrożenia. Zamiast tego usługa wdrażania pobiera pakiet z adresu URL podanego w zasobie wdrożenia. URL pakietu oraz pamięć wdrożeniowa muszą być dostępne dla usługi wdrożeniowej. Dla Flex Consumption zobacz Deploy by using Bicep lub szablon Azure Resource Manager.

Aby uzyskać więcej informacji na temat konfigurowania aplikacji funkcji w sieci wirtualnej, zobacz Jak skonfigurować Azure Functions za pomocą sieci wirtualnej.

Przechowywanie treści w aplikacji i sieci sieciowe

Azure Functions on Azure Container Apps wdraża twoją aplikację w postaci obrazu kontenera. Obraz jest przechowywany w rejestrze kontenerowym, a sieciowanie jest zarządzane przez środowisko Container Apps. Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Functions w usłudze Azure Container Apps i Sieć w usłudze Azure Container Apps.

Zachowanie wdrażania w zależności od planu hostingu

Poniższe metody wdrożenia mają zastosowanie do wybranego przez Ciebie planu hostingowego. Aby porównać technologie we wszystkich planach, zobacz tabelę dostępności technologii wdrożenia .

Wdrożenie pakietu Flex Consumption

Wdrażanie pakietów jest jedyną technologią wdrażania kodu obsługiwaną dla aplikacji w planie Flex Consumption. Proces wdrożenia przechowuje gotowy do uruchomienia pakiet .zip w kontenerze wdrożenia aplikacji, a aplikacja funkcjonalna działa bezpośrednio z tego pakietu.

Jak używać: Wdróż korzystając z funkcji publikowania w Visual Studio Code, lub z linii poleceń przy użyciu Azure Functions Core Tools lub Azure CLI. Zadanie Azure DevOps i akcja GitHub podobnie wybierają właściwe zachowanie wdrożenia pakietu, gdy wykrywają aplikację Flex Consumption.

Podczas tworzenia aplikacji Flex Consumption należy określić kontener magazynu wdrożeniowego (blob) oraz metodę uwierzytelniania do niego. Domyślnie używane jest to samo konto magazynu, co w przypadku połączenia AzureWebJobsStorage, z metodą uwierzytelniania opartą na stringu połączenia. W związku z tym ustawienia wdrożenia są konfigurowane w czasie tworzenia aplikacji bez konieczności używania ustawień aplikacji.

Kiedy go używać: Stosuj wdrażanie pakietów we wszystkich wdrożeniach kodu w modelu Flex Consumption. Nie jest obsługiwana żadna inna technologia wdrażania kodu.

Gdzie jest przechowywana zawartość aplikacji: podczas tworzenia aplikacji funkcji Flex Consumption należy określić kontener przechowywania wdrożenia. Usługa wdrożenia przechowuje przetworzony, gotowy do uruchomienia pakiet w tym kontenerze. Narzędzia do wdrażania push najpierw wysyłają pakiet źródłowy do punktu końcowego wdrożenia aplikacji; nie przesyłają bezpośrednio do kontenera wdrożenia. Aby zmienić miejsce przechowywania danych, otwórz stronę ustawień wdrożenia w portalu Azure lub użyj Azure CLI.

Interfejs API bazowej platformy jest czasami określany jako OneDeploy. Definicje infrastruktury jako kodu ujawniają tę implementację poprzez dosłowną /onedeploy nazwę zasobu. Nie musisz wybierać ani konfigurować tego API podczas wdrożenia, korzystając z obsługiwanych narzędzi deweloperskich lub dostawców CI/CD.

Wskazówka

Narzędzie diagnostyczne Flex Consumption Deployment jest dostępne w portalu Azure. Otwórz aplikację Flex Consumption, wybierz pozycję Diagnozuj i rozwiąż problemy, a następnie wyszukaj ciąg Flex Consumption Deployment. To narzędzie wyświetla szczegółowe informacje o wdrożeniach, w tym historię wdrażania, stan pakietu i zalecenia dotyczące rozwiązywania problemów.

Wdrożenie ZIP

Wdrażanie ZIP jest domyślną i zalecaną technologią wdrażania dla aplikacji funkcjonalnych w planach Consumption, Elastic Premium oraz Dedicated (App Service). Wynikiem końcowym jest gotowy do uruchomienia pakiet .zip, na którym działa aplikacja funkcji. Różni się on od zewnętrznego adresu URL pakietu , ponieważ platforma jest odpowiedzialna za zdalne kompilowanie i przechowywanie zawartości aplikacji.

Jak z niego korzystać: Wdroż, korzystając z ulubionego narzędzia klienta: Visual Studio Code, Visual Studio, lub z linii poleceń, korzystając z Azure Functions Core Tools lub Azure CLI. Zadanie Azure DevOps i akcja GitHub również korzystają z wdrażania ZIP.

Gdy korzystasz z wdrażania ZIP, możesz ustawić aplikację tak, aby działała z pakietu. Aby uruchomić z pakietu, ustaw wartość WEBSITE_RUN_FROM_PACKAGE dla ustawienia aplikacji na 1. Zalecamy wdrożenie ZIP. Zapewnia szybsze ładowanie aplikacji i jest domyślnym dla Visual Studio Code, Visual Studio oraz Azure CLI.

Kiedy go używać: Wdrażanie ZIP jest domyślną i zalecaną technologią wdrożenia dla aplikacji funkcjonalnych na planach Windows Consumption, Windows i Linux Elastic Premium oraz Windows i Linux App Service (dedykowane).

Gdzie przechowywane są treści aplikacji: Zawartość aplikacji z wdrożenia ZIP jest domyślnie przechowywana w systemie plików, który Azure może wspierać przez Azure Files z konta pamięci wybranego przy tworzeniu aplikacji funkcji. W przypadku użycia systemu Linux, zawartość aplikacji jest zamiast tego utrwalana w obiekcie BLOB na koncie przechowywania określonym przez ustawienie aplikacji AzureWebJobsStorage, a ustawienie aplikacji WEBSITE_RUN_FROM_PACKAGE przyjmuje wartość adresu URL obiektu BLOB.

Adres URL pakietu zewnętrznego

Używaj zewnętrznego adresu URL pakietu, gdy chcesz ręcznie kontrolować sposób wdrożeń. Jesteś odpowiedzialny za przesłanie gotowego do uruchomienia pakietu .zip, który zawiera twoją stworzoną zawartość aplikacji, do pamięci blobowej oraz za odniesienie do tego zewnętrznego adresu URL jako ustawienia aplikacji w aplikacji funkcjonalnej. Za każdym razem, gdy aplikacja się restartuje, pobiera pakiet, montuje go i uruchamia z pakietu.

Jak go używać: Dodaj WEBSITE_RUN_FROM_PACKAGE do ustawień aplikacji. Wartość tego ustawienia powinna być adresem URL obiektu blob wskazującym lokalizację określonego pakietu, który ma zostać uruchomiony przez aplikację. Ustawienia można dodać w portalu lub używając Azure CLI.

Jeśli korzystasz z Azure Blob Storage, Twoja aplikacja funkcyjna może uzyskać dostęp do kontenera albo korzystając z połączenia opartego na zarządzanej tożsamości, albo z podpisem współdzielonego dostępu (SAS). Wybrana opcja ma wpływ na rodzaj adresu URL, którego używasz jako wartości dla WEBSITE_RUN_FROM_PACKAGE. Zaleca się stosowanie tożsamości zarządzanej ze względu na ogólne bezpieczeństwo, ponieważ tokeny sygnatur współużytkowania wygasają i muszą być obsługiwane ręcznie.

Za każdym razem, gdy wdrażasz plik pakietu, do którego odwołuje się aplikacja funkcji, należy ręcznie zsynchronizować wyzwalacze, w tym początkowe wdrożenie. Jeśli zmienisz zawartość pliku pakietu, a nie sam adres URL, musisz również ponownie uruchomić aplikację funkcji, aby zsynchronizować wyzwalacze. Aby uzyskać kroki konfiguracyjne, zobacz Uruchom z zewnętrznego adresu URL pakietu.

Kiedy go używać: Zewnętrzny adres URL pakietu jest jedyną obsługiwaną metodą wdrażania dla aplikacji działających w planie Zużycia dla Linuxa, gdy nie chcesz, aby zdalna kompilacja wystąpiła. Ta metoda jest również zalecaną technologią wdrażania, gdy tworzysz swoją aplikację bez Azure Files. W przypadku skalowalnych aplikacji działających w systemie Linux należy rozważyć plan hostingowy Flex Consumption.

Gdzie jest przechowywana zawartość aplikacji: odpowiadasz za przesyłanie zawartości aplikacji do magazynu blob. Możesz korzystać z dowolnego konta do przechowywania blobów, choć zalecane jest Azure Blob Storage.

kontener Docker

Można wdrożyć aplikację funkcji działającą w kontenerze systemu Linux.

Jak użyć go:Utwórz funkcje w kontenerze systemu Linux a następnie wdróż kontener w planie premium lub dedykowanym w Azure Functions lub innym hoście kontenera. Użyj Azure Functions Core Tools, aby utworzyć dostosowany plik Dockerfile dla projektu, którego używasz do tworzenia konteneryzowanej aplikacji funkcji. Kontener można używać w następujących wdrożeniach:

Kiedy go używać: użyj opcji kontenera platformy Docker, jeśli potrzebujesz większej kontroli nad środowiskiem systemu Linux, w którym działa aplikacja funkcji i gdzie jest hostowany kontener. Ten mechanizm wdrażania jest dostępny tylko dla funkcji działających w systemie Linux.

Gdzie jest przechowywana zawartość aplikacji: Zawartość aplikacji jest przechowywana w określonym rejestrze kontenerów w ramach obrazu.

Kontrola źródła

Możesz włączyć ciągłą integrację między aplikacją funkcji a repozytorium kodu źródłowego. Po włączeniu kontroli źródła aktualizacja kodu w połączonym repozytorium źródłowym wyzwala wdrożenie najnowszego kodu z repozytorium. Aby uzyskać więcej informacji, zobacz Ciągłe wdrażanie dla Azure Functions.

Jak go używać: Najprostszym sposobem skonfigurowania publikowania z kontroli wersji jest skorzystanie z Centrum Wdrażania w obszarze Funkcje portalu. Aby uzyskać więcej informacji, zobacz Ciągłe wdrażanie dla Azure Functions.

Kiedy go używać: Korzystanie z kontroli źródła jest najlepszym rozwiązaniem dla zespołów, które współpracują ze swoimi aplikacjami funkcji. System kontroli wersji to dobra opcja wdrożenia, która umożliwia bardziej zaawansowane ciągi wdrożeniowe. Zwykle można włączyć kontrolę źródła w miejscu przejściowym, które można zamienić na środowisko produkcyjne po weryfikacji aktualizacji z repozytorium. Aby uzyskać więcej informacji, zobacz Azure Functions miejsca wdrożenia.

Gdzie jest przechowywana zawartość aplikacji: System kontroli źródła przechowuje zawartość aplikacji. System plików aplikacji przechowuje lokalnie sklonowany i skompilowany formularz zawartości aplikacji, który Azure Files z konta magazynu określonego podczas tworzenia aplikacji funkcji może zostać przywrócony.

Lokalna usługa Git

Użyj lokalnego narzędzia Git, aby wypchnąć kod z komputera lokalnego do Azure Functions przy użyciu usługi Git.

Jak go używać: Postępuj zgodnie z instrukcjami w Lokalne wdrożenie Git do usługi Azure App Service.

Kiedy należy go używać: Aby zmniejszyć prawdopodobieństwo wystąpienia błędów, należy unikać używania metod wdrażania, które wymagają dodatkowego kroku ręcznego synchronizowania wyzwalaczy. Jeśli to możliwe, użyj wdrożenia za pomocą pliku zip.

Gdzie przechowywane są treści aplikacji: System plików przechowuje zawartość aplikacji. System plików może być wspierany przez Azure Files z konta pamięci, które podałeś przy tworzeniu aplikacji funkcji.

FTPS

Możesz użyć FTPS do bezpośredniego przesyłania plików do Azure Functions, ale nie używaj tej metody wdrożenia. Jeśli nie planujesz korzystać z FTPS, wyłącz go. Aby dowiedzieć się, jak to zrobić w portalu Azure, zobacz Enforce FTPS.

Jak go używać: Postępuj zgodnie z instrukcjami w ustawieniach wdrażania usługi FTPS , aby uzyskać adres URL i poświadczenia, których można użyć do wdrożenia w aplikacji funkcji przy użyciu usługi FTPS.

Kiedy należy go używać: Aby zmniejszyć prawdopodobieństwo wystąpienia błędów, należy unikać używania metod wdrażania, które wymagają dodatkowego kroku ręcznego synchronizowania wyzwalaczy. Jeśli to możliwe, użyj wdrożenia za pomocą pliku zip.

Gdzie jest przechowywana zawartość aplikacji: Zawartość aplikacji jest przechowywana w systemie plików. Wdrożenia FTP/FTPS kończą się niepowodzeniem, gdy system plików aplikacji jest wspierany przez Azure Files na domyślnym koncie magazynu hosta. Protokół FTP/FTPS zawodzi przy korzystaniu z Azure Files jako zamontowanego magazynu z powodu ograniczeń FTP.

Edytowanie w portalu

W edytorze opartym na portalu można bezpośrednio edytować pliki, które znajdują się w aplikacji funkcji (zasadniczo wdrażane przy każdym zapisywaniu zmian).

Jak użyć go: Aby edytować funkcje w portalu Azure portal należy utwórz funkcje w portalu. Aby zachować pojedyncze źródło prawdy, użycie dowolnej innej metody wdrażania sprawia, że funkcja jest tylko do odczytu i uniemożliwia ciągłą edycję portalu. Aby powrócić do stanu, w którym można edytować pliki w portalu Azure, możesz ręcznie włączyć tryb edycji z powrotem do Read/Write i usunąć wszystkie ustawienia aplikacji związane z wdrażaniem (na przykład WEBSITE_RUN_FROM_PACKAGE).

Kiedy go używać: Portal jest dobrym sposobem na rozpoczęcie pracy z Azure Functions. Ze względu na ograniczenia rozwoju w portalu Azure należy użyć jednego z następujących narzędzi klienckich do bardziej zaawansowanych prac programistycznych:

Gdzie jest przechowywana zawartość aplikacji: Zawartość aplikacji jest przechowywana w systemie plików, który może być wspierany przez Azure Files z konta magazynowego określonego podczas tworzenia aplikacji funkcji.

Wdrażanie obrazów kontenera

Azure Functions on Azure Container Apps wdraża Twój kod jako obraz kontenera. Możesz wdrożyć aplikację na podstawie projektu kodu, korzystając z zarządzanego środowiska usługi Container Apps, lub wdrożyć niestandardowy obraz, gdy potrzebujesz kontroli nad zawartością obrazu. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji funkcji w usłudze Azure Container Apps przy użyciu kodu i Omówienie usługi Azure Functions w usłudze Azure Container Apps.

Zachowania wdrożenia

Gdy wdrażasz aktualizacje kodu aplikacji funkcjonalnej, zachowanie wdrożenia zależy od planu hostingu.

Obecnie wykonywanie funkcji zatrzymuje się, gdy wdrażasz nowy kod. Po zakończeniu wdrożenia nowy kod ładuje się i zaczyna przetwarzać żądania. To zachowanie polegające na wymuszonym zakończeniu jest znane jako strategia ponownego tworzenia. W przypadku wdrożeń z niemal zerowym czasem przestoju korzystaj z gniazd wdrożeniowych.

Aby dowiedzieć się, jak pisać funkcje bezstanowe i obronne, przejrzyj dokumentację Jak poprawić wydajność i niezawodność Azure Functions.

Domyślne zachowanie wykorzystuje strategię recreate, która zatrzymuje bieżące wykonywanie funkcji podczas wdrożenia. Flex Consumption obsługuje dwie strategie aktualizacji strony. Można skonfigurować aktualizacje stopniowe dla wdrożeń bez przestojów.

Azure Container Apps zarządza aktualizacjami aplikacji za pomocą wersji. Aby uzyskać więcej informacji o kontrolowaniu sposobu, w jaki nowe wersje otrzymują ruch, zobacz Aktualizuj i wdrażaj zmiany w Azure Container Apps.

Miejsca wdrożenia

Flex Consumption nie obsługuje slotów wdrożeń. Dla wdrożeń bez przestojów konfiguruj aktualizacje ciągłe.

Miejsca wdrożenia

Podczas wdrażania aplikacji funkcjonalnej na platformie Azure można wdrożyć w osobnym gnieździe wdrożeniowym, zamiast bezpośredniego wdrażania do środowiska produkcyjnego. Wdrażanie do slota wdrożeniowego, a następnie zmiana na produkcję po weryfikacji jest zalecanym sposobem konfigurowania ciągłego wdrażania.

Sposób wdrażania na slot zależy od wybranego narzędzia, którego używasz do wdrażania. Na przykład, gdy używasz Azure Functions Core Tools, uwzględnij --slot opcję wskazania nazwy konkretnego slotu dla func azure functionapp publish polecenia.

Aby uzyskać więcej informacji na temat miejsc wdrożenia, zobacz dokumentację Azure Functions Miejsca wdrożenia.

Następne kroki

Przeczytaj następujące artykuły, aby dowiedzieć się więcej na temat wdrażania aplikacji funkcji: