Szybki start: tworzenie pierwszej funkcji języka C# na platformie Azure przy użyciu Visual Studio

Azure Functions umożliwia uruchamianie kodu C# w środowisku bez serwera na platformie Azure.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Użyj Visual Studio, aby utworzyć projekt biblioteki klas języka C# na platformie .NET 6.0.
  • Utwórz funkcję, która odpowiada na żądania HTTP.
  • Uruchom kod lokalnie, aby zweryfikować zachowanie funkcji.
  • Wd wdrażaj projekt kodu w Azure Functions.

Ten artykuł obsługuje tworzenie obu typów skompilowanych funkcji języka C#:

Model wykonania Opis
W trakcie przetwarzania Kod funkcji jest uruchamiany w tym samym procesie co proces hosta usługi Functions. Obsługuje zarówno program .NET Core 3.1, jak i .NET 6.0. Aby dowiedzieć się więcej, zobacz Develop C# class library functions using Azure Functions (Tworzenie funkcji biblioteki klas języka C# przy użyciu Azure Functions).
Izolowany proces Kod funkcji jest uruchamiany w osobnym procesie procesu roboczego .NET. Obsługuje zarówno program .NET 5.0, jak i .NET 6.0. Aby dowiedzieć się więcej, zobacz Develop isolated process functions in C# (Opracowywanie funkcji izolowanych procesów w języku C#).

Wykonanie kroków tego przewodnika Szybki start wiąże się z niewielkim kosztem konta platformy Azure w wysokości nie mniejszej niż kilka centów USD.

Istnieje również wersja Visual Studio Code tego artykułu oparta na języku .

Wymagania wstępne

  • Visual Studio 2022,który obsługuje program .NET 6.0. Pamiętaj, aby podczas instalacji wybrać obciążenie Tworzenie aplikacji 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 Azure Functions w programie Visual Studio tworzy projekt biblioteki klas języka C#, który można opublikować w aplikacji funkcji na platformie Azure. Aplikacja funkcji umożliwia grupowanie funkcji jako jednostki logicznej w celu łatwiejszego zarządzania, wdrażania, skalowania i udostępniania zasobów.

  1. Z menu Visual Studio wybierz pozycję Nowy plik > > Project.

  2. W oknie Tworzenie nowego projektu wprowadź funkcje w polu wyszukiwania, wybierz szablon Azure Functions, a następnie wybierz pozycję Dalej.

  3. W konfigurować nowy projekt, wprowadź nazwę Project projektu, a następnie wybierz pozycję Utwórz. 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.

  4. W przypadku ustawień Azure Functions aplikacji utwórz nową aplikację użyj wartości z poniższej tabeli:

    Ustawienie Wartość Opis
    Wersja programu .NET .NET 6 Ta wartość tworzy projekt funkcji, który jest uruchamiany w procesie w wersji 4.x środowiska Azure Functions uruchomieniowego. Możesz również wybrać platformę .NET 6 (izolowana), aby utworzyć projekt, który jest uruchamiany w oddzielnym procesie roboczy. Usługa Azure Functions 1.x obsługuje program .NET Framework. Aby uzyskać więcej informacji, zobacz omówienie Azure Functions środowiska uruchomieniowego.
    Szablon funkcji Wyzwalacz HTTP Ta wartość tworzy funkcję wyzwalaną przez żądanie HTTP.
    Storage konto (AzureWebJobsStorage) Storage emulatora Ponieważ aplikacja funkcji na platformie Azure wymaga konta magazynu, jest przypisywane lub tworzone podczas publikowania projektu na platformie Azure. Wyzwalacz HTTP nie używa parametrów połączenia konta usługi Azure Storage. Wszystkie inne typy wyzwalaczy wymagają prawidłowych parametrów połączenia konta Storage Azure. Po wybraniu tej opcji zostanie użyty 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 webhook).

    Azure Functions projektu

    Upewnij się, że ustawiono poziom autoryzacji Anonimowe. Jeśli wybierzesz domyślny poziom funkcji, musisz przedstawić klucz funkcji w żądaniach dostępu do punktu końcowego funkcji.

  5. Wybierz pozycję Utwórz, aby utworzyć projekt funkcji i funkcję wyzwalacza HTTP.

Visual Studio projekt i klasę, która zawiera kod źródłowy 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 FunctionName metody ustawia nazwę funkcji, która domyślnie jest generowana jako Function1 . Ponieważ narzędzia nie umożliwiają zastąpienia domyślnej nazwy funkcji podczas tworzenia projektu, pomiń chwilę, aby utworzyć lepszą nazwę dla klasy funkcji, pliku i metadanych.

  1. W Eksplorator plików kliknij prawym przyciskiem myszy plik Function1.cs i zmień jego nazwę na HttpExample.cs .

  2. W kodzie zmień nazwę klasy Function1 na HttpExample .

  3. W metodzie HttpTrigger o nazwie zmień nazwę Run FunctionName atrybutu metody na HttpExample .

Definicja funkcji powinna teraz wyglądać podobnie do następującego kodu:

[FunctionName("HttpExample")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log)

Teraz, po zmianie nazwy funkcji, możesz ją przetestować na komputerze lokalnym.

Lokalne uruchamianie funkcji

Visual Studio integruje się z Azure Functions Core Tools, dzięki czemu można przetestować funkcje lokalnie przy użyciu pełnego Azure Functions uruchomieniowego.

  1. 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 w przypadku lokalnego uruchamiania funkcji.

  2. Skopiuj adres URL funkcji z danych wyjściowych środowiska uruchomieniowego usługi Azure Functions.

    Lokalne środowisko uruchomieniowe platformy Azure

  3. Wklej adres URL żądania HTTP w pasku adresu przeglądarki. Dołącz ciąg zapytania ?name=<YOUR_NAME> do tego adresu URL i uruchom żądanie. Na poniższej ilustracji przedstawiono odpowiedź w przeglądarce do lokalnego żądania GET zwróconego przez funkcję:

    Odpowiedź hosta localhost funkcji wyświetlona w przeglądarce

  4. Aby zatrzymać debugowanie, naciśnij klawisz 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

Aby można było opublikować projekt, musisz mieć aplikację funkcji w subskrypcji platformy Azure. Visual Studio publikowania tworzy aplikację funkcji przy pierwszym publikowaniu projektu.

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Publikuj, a następnie w witrynie Target wybierz pozycję Azure, a następnie pozycję Dalej.

  2. W przypadku opcji Określony element docelowy wybierz pozycję Aplikacja funkcji platformy Azure (Windows), która tworzy aplikację funkcji uruchamianą w systemie Windows.

  3. W wystąpieniu funkcji wybierz pozycję Utwórz nową funkcję platformy Azure...

    Tworzenie nowego wystąpienia aplikacji funkcji

  4. Utwórz nowe wystąpienie przy użyciu wartości określonych w poniższej tabeli:

    Ustawienie Wartość Opis
    Nazwa 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 ma być tworzyć aplikację funkcji. Wybierz istniejącą grupę zasobów z listy rozwijanej lub wybierz pozycję Nowa, aby utworzyć nową grupę zasobów.
    Typ planu Zużycie W przypadku publikowania projektu w aplikacji funkcji uruchamianej w ramach planu Zużyciepłacisz tylko za wykonanie aplikacji funkcji. Inne plany hostingu poniosą wyższe koszty.
    Lokalizacja Lokalizacja usługi App Service Wybierz lokalizację w regionie w pobliżu ciebie lub innych usług, do których Twoje funkcje mają dostęp.
    Azure Storage Konto magazynu ogólnego przeznaczenia Środowisko uruchomieniowe usługi Functions wymaga konta usługi Azure Storage. Wybierz pozycję Nowy, aby skonfigurować konto magazynu ogólnego przeznaczenia. Możesz również wybrać istniejące konto, które spełnia wymagania dotyczące konta magazynu.

    Okno dialogowe Tworzenie usługi App Service

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

  6. W wystąpieniu usługi Functions upewnij się, że pole uruchom z pliku pakietu jest zaznaczone. Aplikacja funkcji jest wdrażana przy użyciu narzędzia Zip Deploy z włączonym trybem Uruchamiania z pakietu. Jest to zalecana metoda wdrażania projektu funkcji, ponieważ powoduje to lepszą wydajność.

    Kończanie tworzenia profilu

  7. Wybierz pozycję Zakończ i na stronie Publikowanie wybierz pozycję Publikuj, aby wdrożyć pakiet zawierający pliki projektu do 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.

  8. Na karcie Publikowanie wybierz pozycję Zarządzaj w programie Cloud Explorer. Spowoduje to otwarcie nowego zasobu platformy Azure aplikacji funkcji w eksploratorze chmury.

    Komunikat o powodzeniu publikowania

    Eksplorator chmury umożliwia używanie narzędzia Visual Studio do wyświetlania zawartości witryny, uruchamiania i zatrzymywania aplikacji funkcji oraz bezpośredniego przeglądania zasobów aplikacji funkcji na platformie Azure i w Azure Portal.

Weryfikowanie funkcji na platformie Azure

  1. W eksploratorze chmury należy wybrać nową aplikację funkcji. Jeśli nie, rozwiń swoją subskrypcję > App Services, a następnie wybierz nową aplikację funkcji.

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

    Uruchomiona aplikacja funkcji

  3. Na pasku adresu w przeglądarce dołącz ciąg do podstawowego adresu URL i /api/HttpExample?name=Functions uruchom żądanie.

    Adres URL wywołujący funkcję wyzwalacza HTTP ma następujący format:

    http://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions

  4. Przejdź do tego adresu URL i zobaczysz w przeglądarce odpowiedź na zdalne żądanie GET zwrócone przez funkcję, które wygląda podobnie do następującego przykładu:

    Odpowiedź funkcji wyświetlona w przeglądarce

Czyszczenie zasobów

Inne przewodniki Szybki start w tej kolekcji bazują na tym przewodniku. Jeśli planujesz pracę z kolejnymi przewodnikami Szybki start, samouczkami lub dowolną usługą utworzoną w tym przewodniku Szybki start, nie czyść zasobów.

Zasoby na platformie Azure dotyczą aplikacji funkcji, funkcji, kont magazynu i tak dalej. Są one pogrupowane w grupy zasobów i możesz usunąć wszystko w grupie, usuwając grupę.

Aby ukończyć te przewodniki Szybki start, zostały utworzone zasoby. Za te zasoby może zostać naliczona opłata — zależy to od Twojego stanu konta i cennika usług.

Aby usunąć aplikację funkcji i powiązane z nią zasoby, aby uniknąć ponoszenia dodatkowych kosztów, należy wykonać poniższe kroki.

  1. W Eksploratorze chmury rozwiń swoją subskrypcję > App Services, kliknij prawym przyciskiem myszy aplikację funkcji i wybierz polecenie Otwórz w portalu.

  2. Na stronie aplikacji funkcji wybierz kartę Przegląd, a następnie wybierz link w obszarze Grupa zasobów.

    Wybieranie grupy zasobów do usunięcia ze strony aplikacji funkcji

  3. Na stronie Grupa zasobów przejrzyj listę uwzględnionych zasobów i sprawdź, czy chcesz je usunąć.

  4. 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 za pomocą Visual Studio i publikowania aplikacji funkcji języka C# na platformie Azure za pomocą prostej funkcji wyzwalacza HTTP.

Aby dowiedzieć się, jak dodać powiązanie kolejki usługi Azure Storage do funkcji, należy przejść do następnego artykułu: