Korzystanie z narzędzi Azure Functions Core Tools
Narzędzia Azure Functions Core Tools umożliwiają tworzenie i testowanie funkcji na komputerze lokalnym z poziomu wiersza polecenia lub terminalu. Funkcje lokalne mogą łączyć się z dynamicznymi usługami platformy Azure i debugować funkcje na komputerze lokalnym przy użyciu pełnego środowiska uruchomieniowego usługi Functions. Możesz nawet wdrożyć aplikację funkcji w ramach subskrypcji platformy Azure.
Ważne
Nie mieszaj programowania lokalnego z programowaniem portalu w tej samej aplikacji funkcji. Podczas tworzenia i publikowania funkcji z projektu lokalnego nie należy próbować obsługiwać ani modyfikować kodu projektu w portalu.
Tworzenie funkcji na komputerze lokalnym i publikowanie ich na platformie Azure przy użyciu narzędzi Core Tools odbywa się zgodnie z następującymi podstawowymi krokami:
- Zainstaluj podstawowe narzędzia i zależności.
- Utwórz projekt aplikacji funkcji na podstawie szablonu specyficznego dla języka.
- Rejestrowanie rozszerzeń wyzwalacza i powiązań.
- Zdefiniuj Storage i inne połączenia.
- Utwórz funkcję na podstawie wyzwalacza i szablonu specyficznego dla języka.
- Uruchom funkcję lokalnie.
- Publikowanie projektu na platformie Azure.
Wymagania wstępne
Określone wymagania wstępne dotyczące narzędzi Core Tools zależą od funkcji, które mają być używane:
Publikowanie: podstawowe narzędzia obecnie zależą od interfejsu wiersza polecenia platformy Azure lub Azure PowerShell na potrzeby uwierzytelniania przy użyciu konta platformy Azure. Oznacza to, że musisz zainstalować jedno z tych narzędzi, aby móc publikować na platformie Azure z poziomu narzędzi Azure Functions Core Tools.
Instalowanie rozszerzeń: aby ręcznie zainstalować rozszerzenia przy użyciu narzędzi Core Tools, musisz mieć zainstalowany zestaw SDK platformy .NET Core 3.1 . Zestaw SDK platformy .NET Core jest używany przez narzędzia Core Tools do instalowania rozszerzeń z NuGet. Nie musisz wiedzieć, aby platforma .NET korzystała z rozszerzeń Azure Functions.
Wersje narzędzi Core Tools
Istnieją cztery wersje narzędzi Azure Functions Core Tools. Używana wersja zależy od lokalnego środowiska programistycznego, wyboru języka i wymaganego poziomu pomocy technicznej.
Wybierz kartę wersji poniżej, aby dowiedzieć się więcej o każdej konkretnej wersji i uzyskać szczegółowe instrukcje dotyczące instalacji:
Obsługuje wersję 4.x środowiska uruchomieniowego usługi Functions. Ta wersja obsługuje Windows, macOS i Linux oraz używa menedżerów pakietów specyficznych dla platformy lub npm do instalacji. Jest to zalecana wersja środowiska uruchomieniowego usługi Functions i narzędzi Core Tools.
Na danym komputerze można zainstalować tylko jedną wersję narzędzi Core Tools. O ile nie określono inaczej, przykłady w tym artykule są przeznaczone dla wersji 3.x.
Instalowanie podstawowych narzędzi usługi Azure Functions
Azure Functions Core Tools zawiera wersję tego samego środowiska uruchomieniowego, która obsługuje środowisko uruchomieniowe Azure Functions, które można uruchomić na lokalnym komputerze deweloperów. Udostępnia również polecenia służące do tworzenia funkcji, nawiązywania połączenia z platformą Azure i wdrażania projektów funkcji.
Począwszy od wersji 2.x, narzędzia Core Tools działają w systemach Windows, macOS i Linux.
Poniższe kroki umożliwiają zainstalowanie narzędzi Core Tools w wersji 4.x za pomocą instalatora Windows (MSI). Aby uzyskać więcej informacji na temat innych instalatorów opartych na pakietach, zobacz readme narzędzi Core Tools.
Pobierz i uruchom instalatora narzędzi Core Tools w oparciu o wersję Windows:
- v4.x — Windows 64-bitowy (zalecane. Visual Studio Code debugowanie wymaga 64-bitowego użycia).
- wersja 4.x — Windows 32-bitowa
Zmienianie wersji narzędzi podstawowych
Podczas zmiany na inną wersję narzędzi Core Tools należy użyć tego samego menedżera pakietów co oryginalna instalacja, aby przejść do innej wersji pakietu. Jeśli na przykład zainstalowano narzędzia Core Tools w wersji 2.x przy użyciu narzędzia npm, należy użyć następującego polecenia, aby przeprowadzić uaktualnienie do wersji 3.x:
npm install -g azure-functions-core-tools@3 --unsafe-perm true
Jeśli użyto instalatora Windows (MSI) do zainstalowania narzędzi Core Tools w Windows, przed zainstalowaniem innej wersji należy odinstalować starą wersję z polecenia Dodaj usuń programy.
Tworzenie lokalnego projektu usługi Functions
Katalog projektu usługi Functions zawiera następujące pliki i foldery niezależnie od języka:
Nazwa pliku | Opis |
---|---|
host.json | Aby dowiedzieć się więcej, zobacz dokumentację pliku host.json. |
local.settings.json | Ustawienia używane przez narzędzia Core Tools podczas uruchamiania lokalnego, w tym ustawień aplikacji. Aby dowiedzieć się więcej, zobacz ustawienia lokalne. |
.gitignore | Uniemożliwia przypadkowe opublikowanie pliku local.settings.json w repozytorium Git. Aby dowiedzieć się więcej, zobacz Ustawienia lokalne |
.vscode\extensions.json | Ustawienia plik używany podczas otwierania folderu projektu w Visual Studio Code. |
Aby dowiedzieć się więcej o folderze projektu usługi Functions, zobacz przewodnik deweloperów Azure Functions.
W oknie terminalu lub w wierszu polecenia uruchom następujące polecenie, aby utworzyć projekt i lokalne repozytorium Git:
func init MyFunctionProj
W tym przykładzie tworzony jest projekt usługi Functions w nowym MyFunctionProj
folderze. Zostanie wyświetlony monit o wybranie domyślnego języka dla projektu.
Następujące zagadnienia dotyczą inicjowania projektu:
Jeśli nie podasz
--worker-runtime
opcji w poleceniu, zostanie wyświetlony monit o wybranie języka. Aby uzyskać więcej informacji, zobacz dokumentację init func.Jeśli nie podasz nazwy projektu, bieżący folder zostanie zainicjowany.
Jeśli planujesz opublikować projekt w niestandardowym kontenerze systemu Linux, użyj
--docker
opcji , aby upewnić się, że plik Dockerfile jest generowany dla projektu. Aby dowiedzieć się więcej, zobacz Tworzenie funkcji w systemie Linux przy użyciu obrazu niestandardowego.
Niektóre języki mogą mieć dodatkowe zagadnienia:
Domyślnie wersje 2.x i nowsze narzędzi Core Tools tworzą projekty aplikacji funkcji dla środowiska uruchomieniowego platformy .NET jako projekty klas języka C# (csproj). Wersja 3.x obsługuje również tworzenie funkcji uruchamianych na platformie .NET 5.0 w izolowanym procesie. Te projekty języka C#, które mogą być używane z Visual Studio lub Visual Studio Code, są kompilowane podczas debugowania i publikowania na platformie Azure.
Użyj parametru ,
--csx
jeśli chcesz pracować lokalnie z plikami skryptu języka C# (csx). Są to te same pliki, które są dostępne podczas tworzenia funkcji w Azure Portal i w przypadku korzystania z wersji 1.x narzędzi Core Tools. Aby dowiedzieć się więcej, zobacz dokumentację init func.
Rejestrowanie rozszerzeń
Począwszy od wersji 2.x środowiska uruchomieniowego wyzwalacze i powiązania usługi Functions są implementowane jako pakiety rozszerzenia platformy .NET (NuGet). W przypadku skompilowanych projektów języka C# wystarczy odwołać się do pakietów rozszerzeń NuGet dla określonych wyzwalaczy i powiązań, których używasz. Powiązania HTTP i wyzwalacze czasomierza nie wymagają rozszerzeń.
Aby ulepszyć środowisko programistyczne dla projektów innych niż C#, usługa Functions umożliwia odwołanie do pakietu rozszerzeń w wersji w pliku projektu host.json. Pakiety rozszerzeń udostępniają wszystkie rozszerzenia aplikacji i usuwają prawdopodobieństwo wystąpienia problemów ze zgodnością pakietów między rozszerzeniami. Pakiety rozszerzeń usuwa również wymaganie zainstalowania zestawu .NET Core 3.1 SDK i konieczności obsługi pliku extensions.csproj.
Pakiety rozszerzeń to zalecane podejście dla projektów funkcji innych niż projekty zgodne z językiem C#, a także skrypt języka C#. W przypadku tych projektów ustawienie pakietu rozszerzeń jest generowane w pliku host.json podczas inicjowania. Jeśli pakiety nie są włączone, należy zaktualizować plik host.json projektu.
Najprostszym sposobem instalowania rozszerzeń powiązań jest włączenie pakietów rozszerzeń. Po włączeniu pakietów jest automatycznie instalowany wstępnie zdefiniowany zestaw pakietów rozszerzeń.
Aby włączyć pakiety rozszerzeń, otwórz plik host.json i zaktualizuj jego zawartość, aby dopasować go do następującego kodu:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}
}
Aby dowiedzieć się więcej, zobacz Rejestrowanie rozszerzeń powiązań Azure Functions.
W projekcie non-.NET mogą wystąpić przypadki, gdy nie można używać pakietów rozszerzeń, takich jak wtedy, gdy konieczne jest określenie określonej wersji rozszerzenia, które nie znajduje się w pakiecie. W takich rzadkich przypadkach można użyć narzędzi Core Tools do lokalnego zainstalowania określonych pakietów rozszerzeń wymaganych przez projekt. Aby dowiedzieć się więcej, zobacz Instalowanie rozszerzeń.
Ustawienia lokalne
W przypadku uruchamiania w aplikacji funkcji na platformie Azure ustawienia wymagane przez funkcje są bezpiecznie przechowywane w ustawieniach aplikacji. Podczas tworzenia lokalnego Values
te ustawienia są zamiast tego dodawane do obiektu w pliku local.settings.json. Plik local.settings.json przechowuje również ustawienia używane przez lokalne narzędzia programistyczne.
Ponieważ plik local.settings.json może zawierać wpisy tajne, takie jak parametry połączenia, nigdy nie należy przechowywać go w repozytorium zdalnym. Aby dowiedzieć się więcej o ustawieniach lokalnych, zobacz Plik ustawień lokalnych.
Domyślnie te ustawienia nie są migrowane automatycznie po opublikowaniu projektu na platformie Azure. Użyj opcji podczas publikowania--publish-local-settings
, aby upewnić się, że te ustawienia są dodawane do aplikacji funkcji na platformie Azure. Wartości w ConnectionStrings
sekcji nigdy nie są publikowane.
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:
Jeśli nie ustawiono AzureWebJobsStorage
prawidłowych parametrów połączenia magazynu i emulator nie jest używany, zostanie wyświetlony następujący komunikat o błędzie:
Brak wartości dla usługi AzureWebJobsStorage w pliku local.settings.json. Jest to wymagane dla wszystkich wyzwalaczy innych niż HTTP. Możesz uruchomić polecenie "func azure functionapp fetch-app-settings <functionAppName>" lub określić parametry połączenia w pliku local.settings.json.
Pobieranie parametrów połączenia magazynu
Nawet w przypadku korzystania z Microsoft Azure Storage Emulator do programowania możesz uruchomić lokalnie z rzeczywistym połączeniem magazynu. Zakładając, że konto magazynu zostało już utworzone, można uzyskać prawidłowe parametry połączenia magazynu na jeden z kilku sposobów:
W Azure Portal wyszukaj i wybierz pozycję konta Storage.
Wybierz konto magazynu, wybierz pozycję Klucze dostępu w Ustawienia, a następnie skopiuj jedną z wartości parametrów połączenia.
Tworzenie funkcji
Aby utworzyć funkcję w istniejącym projekcie, uruchom następujące polecenie:
func new
W wersji 3.x/2.x po uruchomieniu func new
zostanie wyświetlony monit o wybranie szablonu w domyślnym języku aplikacji funkcji. Następnie zostanie wyświetlony monit o wybranie nazwy funkcji. W wersji 1.x wymagane jest również wybranie języka.
W poleceniu func new
można również określić nazwę funkcji i szablon. W poniższym przykładzie --template
użyto opcji tworzenia wyzwalacza HTTP o nazwie MyHttpTrigger
:
func new --template "Http Trigger" --name MyHttpTrigger
W tym przykładzie zostanie utworzony wyzwalacz Storage kolejki o nazwie MyQueueTrigger
:
func new --template "Queue Trigger" --name MyQueueTrigger
Aby dowiedzieć się więcej, zobacz func new
polecenie .
Uruchamianie funkcji lokalnie
Aby uruchomić projekt usługi Functions, uruchom hosta usługi Functions z katalogu głównego projektu. Host włącza wyzwalacze dla wszystkich funkcji w projekcie. Poleceniestart
różni się w zależności od języka projektu.
func start
Uwaga
Zamiast tego wymagana jest func host start
wersja 1.x środowiska uruchomieniowego usługi Functions. Aby dowiedzieć się więcej, zobacz dokumentację Azure Functions Core Tools.
Po uruchomieniu hosta usługi Functions zwraca on adres URL funkcji wyzwalanych przez protokół HTTP, podobnie jak w poniższym przykładzie:
Found the following functions: Host.Functions.MyHttpTrigger Job host started Http Function MyHttpTrigger: http://localhost:7071/api/MyHttpTrigger
Ważne
W przypadku uruchamiania lokalnego autoryzacja nie jest wymuszana dla punktów końcowych HTTP. Oznacza to, że wszystkie lokalne żądania HTTP są obsługiwane jako authLevel = "anonymous"
. Aby uzyskać więcej informacji, zobacz artykuł dotyczący powiązania HTTP.
Przekazywanie danych testowych do funkcji
Aby przetestować funkcje lokalnie, uruchom hosta usługi Functions i wywołaj punkty końcowe na serwerze lokalnym przy użyciu żądań HTTP. Wywoływany punkt końcowy zależy od typu funkcji.
Uwaga
Przykłady w tym temacie używają narzędzia cURL do wysyłania żądań HTTP z terminalu lub wiersza polecenia. Możesz użyć wybranego narzędzia do wysyłania żądań HTTP do serwera lokalnego. Narzędzie cURL jest domyślnie dostępne w systemach opartych na systemie Linux i Windows 10 kompilacji 17063 i nowszych. W starszych Windows należy najpierw pobrać i zainstalować narzędzie cURL.
Aby uzyskać więcej ogólnych informacji na temat funkcji testowania, zobacz Strategie testowania kodu w Azure Functions.
Funkcje wyzwalane przez protokół HTTP i element webhook
Wywołasz następujący punkt końcowy, aby lokalnie uruchomić funkcje wyzwalane przez protokół HTTP i element webhook:
http://localhost:{port}/api/{function_name}
Upewnij się, że używasz tej samej nazwy serwera i portu, na który nasłuchuje host usługi Functions. Zobaczysz to w danych wyjściowych wygenerowanych podczas uruchamiania hosta funkcji. Ten adres URL można wywołać przy użyciu dowolnej metody HTTP obsługiwanej przez wyzwalacz.
Następujące polecenie cURL wyzwala funkcję szybkiego startu MyHttpTrigger
z żądania GET z parametrem name przekazanym w ciągu zapytania.
curl --get http://localhost:7071/api/MyHttpTrigger?name=Azure%20Rocks
Poniższy przykład to ta sama funkcja wywoływana z żądania POST przekazująca nazwę w treści żądania żądania:
curl --request POST http://localhost:7071/api/MyHttpTrigger --data '{"name":"Azure Rocks"}'
Żądania GET można wysyłać z przeglądarki przekazując dane w ciągu zapytania. W przypadku wszystkich innych metod HTTP należy użyć narzędzia cURL, Fiddler, Postman lub podobnego narzędzia do testowania HTTP obsługującego żądania POST.
Funkcje niezwiązane z protokołem HTTP
Dla wszystkich funkcji innych niż wyzwalacze HTTP i Event Grid można testować funkcje lokalnie przy użyciu interfejsu REST, wywołując specjalny punkt końcowy nazywany punktem końcowym administrowania. Wywołanie tego punktu końcowego przy użyciu żądania HTTP POST na serwerze lokalnym wyzwala funkcję.
Aby przetestować funkcje wyzwalane lokalnie w usłudze Event Grid, zobacz Testowanie lokalne z aplikacją internetową przeglądarki.
Opcjonalnie możesz przekazać dane testowe do wykonania w treści żądania POST. Ta funkcja jest podobna do karty Test w Azure Portal.
Wywołasz następujący punkt końcowy administratora, aby wyzwolić funkcje inne niż HTTP:
http://localhost:{port}/admin/functions/{function_name}
Aby przekazać dane testowe do punktu końcowego administratora funkcji, musisz podać dane w treści komunikatu żądania POST. Treść komunikatu musi mieć następujący format JSON:
{
"input": "<trigger_input>"
}
Wartość <trigger_input>
zawiera dane w formacie oczekiwanym przez funkcję. Poniższy przykład biblioteki cURL to post do QueueTriggerJS
funkcji. W takim przypadku dane wejściowe to ciąg, który jest odpowiednikiem komunikatu, który ma zostać znaleziony w kolejce.
curl --request POST -H "Content-Type:application/json" --data '{"input":"sample queue data"}' http://localhost:7071/admin/functions/QueueTrigger
Podczas wywoływania punktu końcowego administratora w aplikacji funkcji na platformie Azure należy podać klucz dostępu. Aby dowiedzieć się więcej, zobacz Klucze dostępu do funkcji.
Publikowanie na platformie Azure
Narzędzia Azure Functions Core Tools obsługują dwa typy wdrożeń:
Typ wdrożenia | Polecenie | Opis |
---|---|---|
pliki Project | func azure functionapp publish |
Wdraża pliki projektu funkcji bezpośrednio w aplikacji funkcji przy użyciu wdrożenia zip. |
Klaster Kubernetes | func kubernetes deploy |
Wdraża aplikację funkcji systemu Linux jako niestandardowy kontener platformy Docker w klastrze Kubernetes. |
Przed opublikowaniem
Ważne
Aby móc publikować na platformie Azure z poziomu narzędzi Core Tools, musisz mieć zainstalowany interfejs wiersza polecenia platformy Azure lub Azure PowerShell zainstalowany lokalnie.
Folder projektu może zawierać pliki i katalogi specyficzne dla języka, które nie powinny być publikowane. Wykluczone elementy są wyświetlane w pliku .funcignore w głównym folderze projektu.
Musisz już utworzyć aplikację funkcji w subskrypcji platformy Azure, do której wdrożysz kod. Projekty wymagające kompilacji powinny być kompilowane, aby można było wdrożyć pliki binarne.
Aby dowiedzieć się, jak utworzyć aplikację funkcji z poziomu wiersza polecenia lub okna terminalu przy użyciu interfejsu wiersza polecenia platformy Azure lub Azure PowerShell, zobacz Tworzenie aplikacji funkcji na potrzeby wykonywania bezserwerowego.
Ważne
Podczas tworzenia aplikacji funkcji w Azure Portal domyślnie jest używana wersja 3.x środowiska uruchomieniowego funkcji. Aby aplikacja funkcji korzystała z wersji 1.x środowiska uruchomieniowego, postępuj zgodnie z instrukcjami w temacie Uruchamianie w wersji 1.x. Nie można zmienić wersji środowiska uruchomieniowego dla aplikacji funkcji, która ma istniejące funkcje.
Wdrażanie plików projektu
Aby opublikować kod lokalny w aplikacji funkcji na platformie Azure, użyj publish
polecenia :
func azure functionapp publish <FunctionAppName>
Następujące zagadnienia dotyczą tego rodzaju wdrożenia:
Publikowanie zastępuje istniejące pliki w aplikacji funkcji.
--publish-local-settings
Użyj opcji automatycznego tworzenia ustawień aplikacji w aplikacji funkcji na podstawie wartości w pliku local.settings.json.Kompilacja zdalna jest wykonywana na skompilowanych projektach. Można to kontrolować za pomocą
--no-build
opcji .Projekt jest wdrażany tak, aby był uruchamiany z pakietu wdrożeniowego. Aby wyłączyć ten zalecany tryb wdrażania, użyj
--nozip
opcji .Język Java używa narzędzia Maven do publikowania projektu lokalnego na platformie Azure. Zamiast tego użyj następującego polecenia, aby opublikować na platformie Azure:
mvn azure-functions:deploy
. Zasoby platformy Azure są tworzone podczas początkowego wdrażania.Jeśli spróbujesz opublikować plik w
<FunctionAppName>
subskrypcji, zostanie wyświetlony błąd.
Klaster Kubernetes
Usługa Functions umożliwia również zdefiniowanie projektu usługi Functions do uruchomienia w kontenerze platformy Docker. --docker
Użyj opcjifunc init
, aby wygenerować plik Dockerfile dla określonego języka. Ten plik jest następnie używany podczas tworzenia kontenera do wdrożenia. Aby dowiedzieć się, jak opublikować kontener niestandardowy na platformie Azure bez platformy Kubernetes, zobacz Tworzenie funkcji w systemie Linux przy użyciu kontenera niestandardowego.
Narzędzia Core Tools mogą służyć do wdrażania projektu jako niestandardowego obrazu kontenera w klastrze Kubernetes.
Następujące polecenie używa pliku Dockerfile do wygenerowania kontenera i wdrożenia go w klastrze Kubernetes.
func kubernetes deploy --name <DEPLOYMENT_NAME> --registry <REGISTRY_USERNAME>
Aby dowiedzieć się więcej, zobacz Wdrażanie aplikacji funkcji na platformie Kubernetes.
Instalowanie rozszerzeń
Jeśli nie możesz używać pakietów rozszerzeń, możesz użyć Azure Functions Core Tools lokalnie, aby zainstalować określone pakiety rozszerzeń wymagane przez projekt.
Ważne
Nie można jawnie instalować rozszerzeń w aplikacji funkcji z włączonymi pakietami rozszerzeń. Najpierw usuń sekcję extensionBundle
w pliku host.json przed jawnym zainstalowaniem rozszerzeń.
Poniższe elementy opisują niektóre powody, dla których może być konieczne ręczne zainstalowanie rozszerzeń:
- Musisz uzyskać dostęp do określonej wersji rozszerzenia niedostępnego w pakiecie.
- Musisz uzyskać dostęp do rozszerzenia niestandardowego, które nie jest dostępne w pakiecie.
- Musisz uzyskać dostęp do konkretnej kombinacji rozszerzeń, które nie są dostępne w jednym pakiecie.
Po jawnym zainstalowaniu rozszerzeń do katalogu głównego projektu zostanie dodany plik projektu .NET o nazwie extensions.csproj. Ten plik definiuje zestaw pakietów NuGet wymaganych przez funkcje. Chociaż możesz pracować z odwołaniami do pakietu NuGet w tym pliku, narzędzia Core Tools umożliwiają instalowanie rozszerzeń bez konieczności ręcznego edytowania tego pliku projektu w języku C#.
Istnieje kilka sposobów używania narzędzi Core Tools do instalowania wymaganych rozszerzeń w projekcie lokalnym.
Instalowanie wszystkich rozszerzeń
Użyj następującego polecenia, aby automatycznie dodać wszystkie pakiety rozszerzeń używane przez powiązania w projekcie lokalnym:
func extensions install
Polecenie odczytuje plik function.json , aby zobaczyć potrzebne pakiety, zainstalować je i ponownie skompilować projekt rozszerzeń (extensions.csproj). Dodaje nowe powiązania w bieżącej wersji, ale nie aktualizuje istniejących powiązań. --force
Użyj opcji , aby zaktualizować istniejące powiązania do najnowszej wersji podczas instalowania nowych. Aby dowiedzieć się więcej, zobacz func extensions install
polecenie .
Jeśli aplikacja funkcji używa powiązań lub pakietów NuGet, których narzędzia Core Tools nie rozpoznają, musisz ręcznie zainstalować określone rozszerzenie.
Instalowanie określonego rozszerzenia
Użyj następującego polecenia, aby zainstalować określony pakiet rozszerzenia w określonej wersji, w tym przypadku rozszerzenie Storage:
func extensions install --package Microsoft.Azure.WebJobs.Extensions.Storage --version 5.0.0
To polecenie służy do instalowania dowolnego zgodnego pakietu NuGet. Aby dowiedzieć się więcej, zobacz func extensions install
polecenie .
Funkcje monitorowania
Zalecanym sposobem monitorowania wykonywania funkcji jest integracja z aplikacja systemu Azure Szczegółowe informacje. Dzienniki wykonywania można również przesyłać strumieniowo na komputer lokalny. Aby dowiedzieć się więcej, zobacz Monitorowanie Azure Functions.
Integracja Szczegółowe informacje aplikacji
Integracja Szczegółowe informacje aplikacji powinna być włączona podczas tworzenia aplikacji funkcji na platformie Azure. Jeśli z jakiegoś powodu aplikacja funkcji nie jest połączona z wystąpieniem aplikacji Szczegółowe informacje, można łatwo wykonać tę integrację w Azure Portal. Aby dowiedzieć się więcej, zobacz Włączanie integracji Szczegółowe informacje aplikacji.
Włączanie dzienników przesyłania strumieniowego
Strumień plików dziennika generowanych przez funkcje można wyświetlić w sesji wiersza polecenia na komputerze lokalnym.
Wbudowane przesyłanie strumieniowe dzienników
Użyj polecenia , func azure functionapp logstream
aby rozpocząć odbieranie dzienników przesyłania strumieniowego określonej aplikacji funkcji uruchomionej na platformie Azure, jak w poniższym przykładzie:
func azure functionapp logstream <FunctionAppName>
Uwaga
Wbudowane przesyłanie strumieniowe dzienników nie jest jeszcze włączone w narzędziach Core Tools dla aplikacji funkcji działających w systemie Linux w planie zużycie. W przypadku tych planów hostingu należy zamiast tego użyć strumienia metryk na żywo, aby wyświetlić dzienniki niemal w czasie rzeczywistym.
Transmisja strumieniowa metryk na żywo
Strumień metryk na żywo dla aplikacji funkcji można wyświetlić w nowym oknie przeglądarki, włączając --browser
opcję, jak pokazano w poniższym przykładzie:
func azure functionapp logstream <FunctionAppName> --browser
Ten typ dzienników przesyłania strumieniowego wymaga włączenia integracji aplikacji Szczegółowe informacje dla aplikacji funkcji.
Następne kroki
Dowiedz się, jak opracowywać, testować i publikować Azure Functions przy użyciu modułu Microsoft Learn Azure Functions Core Tools Azure Functions Core Tools jest open source i hostowany w GitHub.
Aby zgłosić usterkę lub żądanie funkcji, otwórz GitHub problem.