Szybki start: tworzenie pierwszej funkcji języka C# na platformie Azure przy użyciu programu Visual Studio
Usługa Azure Functions umożliwia tworzenie lokalnych projektów funkcji języka C#, a następnie łatwe publikowanie tego projektu w celu uruchomienia w skalowalnym środowisku bezserwerowym na platformie Azure. Jeśli wolisz opracowywać aplikacje w języku C# lokalnie przy użyciu programu Visual Studio Code, zamiast tego należy rozważyć wersję opartą na programie Visual Studio Code tego artykułu.
Domyślnie w tym artykule pokazano, jak utworzyć funkcje języka C#, które działają na platformie .NET 6 w izolowanym procesie roboczym. Aplikacje funkcji uruchamiane w izolowanym procesie roboczym są obsługiwane we wszystkich wersjach platformy .NET obsługiwanych przez usługę Functions. Aby uzyskać więcej informacji, zobacz Obsługiwane wersje.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Użyj programu Visual Studio, aby utworzyć projekt biblioteki klas języka C#.
- Utwórz funkcję, która odpowiada na żądania HTTP.
- Uruchom kod lokalnie, aby zweryfikować zachowanie funkcji.
- Wdrażanie projektu kodu w usłudze Azure Functions.
Ukończenie tego przewodnika Szybki start wiąże się z naliczeniem niewielkiej opłaty w wysokości kilku centów USD lub mniej na koncie platformy Azure.
Wymagania wstępne
Visual Studio 2022. Upewnij się, że podczas instalacji wybrano obciążenie programowanie na platformie Azure.
Subskrypcja platformy Azure. Jeśli nie masz jeszcze konta, przed rozpoczęciem utwórz bezpłatne konto.
Tworzenie projektu aplikacji funkcji
Szablon projektu usługi Azure Functions w programie Visual Studio tworzy projekt biblioteki klas języka C#, który można opublikować w aplikacji funkcji na platformie Azure. Za pomocą aplikacji funkcji można grupować funkcje jako jednostkę logiczną, aby ułatwić zarządzanie, wdrażanie, skalowanie i udostępnianie zasobów.
Z menu programu Visual Studio wybierz pozycję Plik>nowy>projekt.
W obszarze Tworzenie nowego projektu wprowadź funkcje w polu wyszukiwania, wybierz szablon usługi Azure Functions , a następnie wybierz pozycję Dalej.
W obszarze Konfigurowanie nowego projektu wprowadź nazwę projektu, a następnie wybierz pozycję Dalej. Nazwa aplikacji funkcji musi być prawidłową nazwą przestrzeni nazw C#, dlatego nie należy używać znaków podkreślenia, łączników ani znaków innych niż alfanumeryczne.
W przypadku pozostałych dodatkowych ustawień informacji ,
Ustawienie Wartość Opis Proces roboczy usługi Functions Izolowana platforma .NET 6.0 (obsługa długoterminowa) Funkcje działają na platformie .NET 6 w izolowanym procesie roboczym. Funkcja Wyzwalacz HTTP Ta wartość tworzy funkcję wyzwalaną przez żądanie HTTP. Używanie usługi Azurite na potrzeby konta magazynu środowiska uruchomieniowego (AzureWebJobsStorage) Włączanie Ponieważ aplikacja funkcji na platformie Azure wymaga konta magazynu, jest przypisywana lub tworzona podczas publikowania projektu na platformie Azure. Wyzwalacz HTTP nie używa konta usługi Azure Storage parametry połączenia; wszystkie inne typy wyzwalaczy wymagają prawidłowego konta usługi Azure Storage parametry połączenia. Po wybraniu tej opcji jest używany emulator Azurite. Poziom autoryzacji Anonimowy Utworzona funkcja może zostać wyzwolona przez dowolnego klienta bez podawania klucza. To ustawienie autoryzacji ułatwia testowanie nowej funkcji. Aby uzyskać więcej informacji na temat kluczy i autoryzacji, zobacz Authorization keys and HTTP and webhook bindings (Klucze autoryzacji oraz powiązania http i element webhook). Upewnij się, że ustawiono poziom autoryzacji na Anonimowy. Jeśli wybierzesz domyślny poziom funkcji, musisz przedstawić klucz funkcji w żądaniach uzyskania dostępu do punktu końcowego funkcji na platformie Azure.
Wybierz pozycję Utwórz , aby utworzyć projekt funkcji i funkcję wyzwalacza HTTP.
Program Visual Studio tworzy projekt i klasę zawierającą standardowy kod dla typu funkcji wyzwalacza HTTP. Standardowy kod wysyła odpowiedź HTTP zawierającą wartość z treści żądania lub ciągu zapytania. Atrybut HttpTrigger
określa, że funkcja jest wyzwalana przez żądanie HTTP.
Zmienianie nazwy funkcji
Atrybut Function
metody ustawia nazwę funkcji, która domyślnie jest generowana jako Function1
. Ponieważ narzędzia nie pozwalają zastąpić domyślnej nazwy funkcji podczas tworzenia projektu, pośmiń minutę, aby utworzyć lepszą nazwę klasy funkcji, pliku i metadanych.
W Eksplorator plików kliknij prawym przyciskiem myszy plik Function1.cs i zmień jego nazwę na
HttpExample.cs
.W kodzie zmień nazwę klasy Function1 na
HttpExample
.W metodzie o nazwie
Run
zmień nazwę atrybutuFunction
metody naHttpExample
.
Definicja funkcji powinna teraz wyglądać podobnie do następującego kodu:
[Function("HttpExample")]
public static HttpResponseData Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req,
FunctionContext executionContext)
Po zmianie nazwy funkcji możesz ją przetestować na komputerze lokalnym.
Lokalne uruchamianie funkcji
Program Visual Studio integruje się z narzędziami Azure Functions Core Tools, dzięki czemu można testować funkcje lokalnie przy użyciu pełnego środowiska uruchomieniowego usługi Azure Functions.
Aby uruchomić funkcję, naciśnij klawisz F5 w programie Visual Studio. Może być konieczne włączenie wyjątku zapory, aby narzędzia mogły obsługiwać żądania HTTP. Poziomy autoryzacji nigdy nie są wymuszane podczas lokalnego uruchamiania funkcji.
Skopiuj adres URL funkcji z danych wyjściowych środowiska uruchomieniowego usługi Azure Functions.
Wklej adres URL żądania HTTP na pasku adresu przeglądarki i uruchom żądanie. Na poniższej ilustracji przedstawiono odpowiedź w przeglądarce na lokalne żądanie GET zwrócone przez funkcję:
Aby zatrzymać debugowanie, naciśnij klawisze Shift+F5 w programie Visual Studio.
Gdy będziesz mieć pewność, że funkcja działa poprawnie na komputerze lokalnym, możesz opublikować projekt na platformie Azure.
Publikowanie projektu na platformie Azure
Program Visual Studio może opublikować projekt lokalny na platformie Azure. Przed opublikowaniem projektu musisz mieć aplikację funkcji w subskrypcji platformy Azure. Jeśli nie masz jeszcze aplikacji funkcji na platformie Azure, publikowanie w programie Visual Studio powoduje utworzenie aplikacji po raz pierwszy podczas publikowania projektu. W tym artykule utworzysz aplikację funkcji i powiązane zasoby platformy Azure.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Opublikuj. W obszarze Cel wybierz pozycję Azure , a następnie pozycję Dalej.
Wybierz pozycję Aplikacja funkcji platformy Azure (Windows) dla określonego elementu docelowego, która tworzy aplikację funkcji działającą w systemie Windows, a następnie wybierz przycisk Dalej.
W wystąpieniu funkcji wybierz pozycję Utwórz nową funkcję platformy Azure...
Utwórz nowe wystąpienie przy użyciu wartości określonych w poniższej tabeli:
Ustawienie Wartość Opis Nazwa/nazwisko Nazwa unikatowa w skali globalnej Unikatowa nazwa identyfikująca nową aplikację funkcji. Zaakceptuj tę nazwę lub wprowadź nową nazwę. Prawidłowe znaki to: a-z
,0-9
i-
.Subskrypcja Twoja subskrypcja Subskrypcja platformy Azure, która ma być używana. Zaakceptuj tę subskrypcję lub wybierz nową z listy rozwijanej. Grupa zasobów: Nazwa grupy zasobów Grupa zasobów, w której chcesz utworzyć aplikację funkcji. Wybierz istniejącą grupę zasobów z listy rozwijanej lub wybierz pozycję Nowy , aby utworzyć nową grupę zasobów. Typ planu Zużycie Podczas publikowania projektu w aplikacji funkcji uruchamianej w planie Zużycie płacisz tylko za wykonania aplikacji funkcji. Inne plany hostingu generują wyższe koszty. Lokalizacja Lokalizacja usługi App Service Wybierz lokalizacjęw regionie w pobliżu Ciebie lub innych usług, do których uzyskujesz dostęp do funkcji. Azure Storage Konto magazynu ogólnego przeznaczenia Środowisko uruchomieniowe usługi Functions wymaga konta magazynu platformy Azure. Wybierz pozycję Nowy , aby skonfigurować konto magazynu ogólnego przeznaczenia. Możesz również wybrać istniejące konto spełniające wymagania dotyczące konta magazynu. Wybierz pozycję Utwórz , aby utworzyć aplikację funkcji i powiązane z nią zasoby na platformie Azure. Stan tworzenia zasobów jest wyświetlany w lewym dolnym rogu okna.
W wystąpieniu usługi Functions upewnij się, że zaznaczono pole wyboru Uruchom z pliku pakietu. Aplikacja funkcji jest wdrażana przy użyciu narzędzia Zip Deploy z włączonym trybem Uruchom z pakietu . Zip Deploy to zalecana metoda wdrażania dla projektu funkcji, co zapewnia lepszą wydajność.
Wybierz pozycję Zakończ, a na stronie Publikowanie wybierz pozycję Publikuj , aby wdrożyć pakiet zawierający pliki projektu w nowej aplikacji funkcji na platformie Azure.
Po zakończeniu wdrażania główny adres URL aplikacji funkcji na platformie Azure jest wyświetlany na karcie Publikowanie .
Na karcie Publikowanie w sekcji Hosting wybierz pozycję Otwórz w witrynie Azure Portal. Spowoduje to otwarcie nowego zasobu platformy Azure aplikacji funkcji w witrynie Azure Portal.
Weryfikowanie funkcji na platformie Azure
W eksploratorze chmury należy wybrać nową aplikację funkcji. Jeśli nie, rozwiń subskrypcję >usługi App Services i wybierz nową aplikację funkcji.
Kliknij prawym przyciskiem myszy aplikację funkcji i wybierz polecenie Otwórz w przeglądarce. Spowoduje to otwarcie katalogu głównego aplikacji funkcji w domyślnej przeglądarce internetowej i wyświetlenie strony wskazującej, że aplikacja funkcji jest uruchomiona.
Na pasku adresu w przeglądarce dołącz ciąg
/api/HttpExample?name=Functions
do podstawowego adresu URL i uruchom żądanie.Adres URL, który wywołuje funkcję wyzwalacza HTTP, ma następujący format:
http://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions
Przejdź do tego adresu URL i zobaczysz odpowiedź w przeglądarce na zdalne żądanie GET zwrócone przez funkcję, która wygląda jak w poniższym przykładzie:
Czyszczenie zasobów
Zasoby na platformie Azure dotyczą aplikacji funkcji, funkcji, kont magazynu i tak dalej. Są one grupowane w grupy zasobów i można usunąć wszystkie elementy w grupie, usuwając grupę.
Zasoby platformy Azure zostały utworzone w celu ukończenia tego przewodnika Szybki start. Za te zasoby może zostać naliczona opłata — zależy to od Twojego stanu konta i cennika usług. Inne przewodniki Szybki start w tej kolekcji bazują na tym przewodniku. Jeśli planujesz pracę z kolejnymi przewodnikami Szybki start, samouczkami lub z dowolną usługą utworzoną w tym przewodniku Szybki start, nie usuwaj zasobów.
Wykonaj poniższe kroki, aby usunąć aplikację funkcji i powiązane z nią zasoby, aby uniknąć ponoszenia dodatkowych kosztów.
W oknie dialogowym Publikowanie programu Visual Studio w sekcji Hosting wybierz pozycję Otwórz w witrynie Azure Portal.
Na stronie aplikacji funkcji wybierz kartę Przegląd , a następnie wybierz link w obszarze Grupa zasobów.
Na stronie Grupa zasobów przejrzyj listę uwzględnionych zasobów i sprawdź, czy są to te, które chcesz usunąć.
Wybierz pozycję Usuń grupę zasobów, a następnie postępuj zgodnie z instrukcjami.
Usuwanie może potrwać kilka minut. Po jego zakończeniu przez kilka sekund będzie widoczne powiadomienie. Możesz również wybrać ikonę dzwonka w górnej części strony, aby wyświetlić powiadomienie.
Następne kroki
W tym przewodniku Szybki start użyto programu Visual Studio do utworzenia i opublikowania aplikacji funkcji języka C# na platformie Azure z prostą funkcją wyzwalacza HTTP.
Aby dowiedzieć się więcej na temat pracy z funkcjami języka C# uruchamianymi w izolowanym procesie roboczym, zobacz Przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym procesie roboczym. Zapoznaj się z obsługiwanymi wersjami platformy .NET, aby wyświetlić inne wersje obsługiwanych wersji platformy .NET w izolowanym procesie roboczym.
Przejdź do następnego artykułu, aby dowiedzieć się, jak dodać powiązanie kolejki usługi Azure Storage do funkcji: