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 przedstawiono sposób tworzenia funkcji języka C# uruchamianych na platformie .NET 8 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.

W tym filmie wideo pokazano, jak utworzyć funkcję języka C# na platformie Azure.

Kroki opisane w filmie wideo zostały również opisane w poniższych sekcjach.

Wymagania wstępne

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.

  1. Z menu programu Visual Studio wybierz pozycję Plik>nowy>projekt.

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

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

  4. W przypadku pozostałych dodatkowych ustawień informacji ,

    Ustawienie Wartość Opis
    Proces roboczy usługi Functions Izolowana platforma .NET 8.0 (obsługa długoterminowa) Funkcje działają na platformie .NET 8 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łącz 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).

    Screenshot of Azure Functions project settings.

    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.

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

  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 o nazwie Runzmień nazwę atrybutu Function metody na HttpExample.

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

[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
{
    return new OkObjectResult("Welcome to Azure Functions!");
}

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.

  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 podczas lokalnego uruchamiania funkcji.

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

    Azure local runtime

  3. 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ę:

    Function localhost response in the browser

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

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Opublikuj. W obszarze Cel wybierz pozycję Azure , a następnie pozycję Dalej.

    Screenshot of publish window.

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

    Screenshot of publish window with specific target.

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

    Screenshot of create a new function app instance.

  4. 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-9i -.
    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 pozycję Nowy , aby utworzyć nową grupę zasobów. Możesz również wybrać istniejącą grupę zasobów z listy rozwijanej.
    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.
    Application Insights Wystąpienie Szczegółowe informacje aplikacji Należy włączyć integrację aplikacji Szczegółowe informacje dla aplikacji funkcji. Wybierz pozycję Nowy , aby utworzyć nowe wystąpienie w nowym lub istniejącym obszarze roboczym usługi Log Analytics. Możesz również wybrać istniejące wystąpienie.

    Screenshot of Create App Service dialog.

  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 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ść.

    Screenshot of Finish profile creation.

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

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

    Screenshot of Publish success message.

Weryfikowanie funkcji na platformie Azure

  1. W witrynie Azure Portal powinna znajdować się strona Przegląd nowej aplikacji funkcji.

  2. W obszarze Funkcje wybierz nową funkcję o nazwie HttpExample, a następnie na stronie funkcji wybierz pozycję Pobierz adres URL funkcji, a następnie ikonę Kopiuj do schowka.

  3. Na pasku adresu w przeglądarce wklej właśnie skopiowany adres URL i uruchom żądanie.

    Adres URL, który wywołuje funkcję wyzwalacza HTTP, ma następujący format:

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

  4. 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:

    Function response in the browser

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.

  1. W oknie dialogowym Publikowanie programu Visual Studio w sekcji Hosting wybierz pozycję Otwórz w witrynie Azure Portal.

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

    Select the resource group to delete from the function app page

  3. Na stronie Grupa zasobów przejrzyj listę uwzględnionych zasobów i sprawdź, czy są to te, które chcesz 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 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: