Udostępnij za pośrednictwem


Szybki start: tworzenie aplikacji usługi Azure Functions przy użyciu usługi aplikacja systemu Azure Configuration

W tym przewodniku Szybki start uwzględnisz usługę konfiguracji aplikacja systemu Azure w aplikacji usługi Azure Functions, aby scentralizować magazyn i zarządzać wszystkimi ustawieniami aplikacji niezależnie od kodu.

Wymagania wstępne

Dodawanie wartości klucza

Dodaj następującą wartość klucza do magazynu App Configuration i pozostaw wartości domyślne Etykieta i Typ zawartości. Aby uzyskać więcej informacji na temat dodawania wartości klucz-wartości do magazynu przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia, przejdź do artykułu Create a key-value (Tworzenie wartości klucza).

Key Wartość
TestApp:Settings:Message Dane z konfiguracji aplikacja systemu Azure

Tworzenie aplikacji usługi Functions

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ę 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ń tworzenia nowej aplikacji usługi Azure Functions użyj wartości w poniższej tabeli:

    Ustawienie Wartość Opis
    Wersja platformy .NET Izolowana platforma .NET 6 Ta wartość tworzy projekt funkcji uruchamiany w izolowanym procesie roboczym. Proces izolowany proces roboczy obsługuje inną niż LTS wersję platformy .NET, a także .NET Framework. Aby uzyskać więcej informacji, zobacz Omówienie wersji środowiska uruchomieniowego usługi Azure Functions.
    Szablon funkcji Wyzwalacz HTTP Ta wartość tworzy funkcję wyzwalaną przez żądanie HTTP.
    Konto magazynu (AzureWebJobsStorage) Emulator magazynu 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.
    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).

    Ustawienia projektu usługi Azure Functions

    Upewnij się, że ustawiono poziom autoryzacji na Anonimowy. 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.

Nawiązywanie połączenia z magazynem usługi App Configuration

Ten projekt użyje iniekcji zależności w usłudze Azure Functions platformy .NET i doda aplikacja systemu Azure Configuration jako dodatkowe źródło konfiguracji. Usługa Azure Functions obsługuje uruchamianie procesu lub izolowanego procesu. Wybierz ten, który spełnia Twoje wymagania.

  1. Kliknij projekt prawym przyciskiem myszy i wybierz polecenie Zarządzaj pakietami NuGet. Na karcie Przeglądaj wyszukaj i dodaj następujące pakiety NuGet do projektu.

  2. Dodaj kod, aby nawiązać połączenie z usługą aplikacja systemu Azure Configuration.

    Dodaj nowy plik, Startup.cs, przy użyciu następującego kodu. Definiuje klasę o nazwie Startup , która implementuje klasę abstrakcyjną FunctionsStartup . Atrybut zestawu służy do określania nazwy typu używanego podczas uruchamiania usługi Azure Functions.

    Metoda ConfigureAppConfiguration jest zastępowana i dostawca konfiguracji aplikacja systemu Azure jest dodawany jako dodatkowe źródło konfiguracji przez wywołanie metody AddAzureAppConfiguration(). Metoda Configure jest pozostawiona pusta, ponieważ w tym momencie nie trzeba rejestrować żadnych usług.

    using System;
    using Microsoft.Azure.Functions.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    
    [assembly: FunctionsStartup(typeof(FunctionApp.Startup))]
    
    namespace FunctionApp
    {
        class Startup : FunctionsStartup
        {
            public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
            {
                string cs = Environment.GetEnvironmentVariable("ConnectionString");
                builder.ConfigurationBuilder.AddAzureAppConfiguration(cs);
            }
    
            public override void Configure(IFunctionsHostBuilder builder)
            {
            }
        }
    }
    
  3. Otwórz Function1.cs i dodaj następującą przestrzeń nazw, jeśli jeszcze jej nie ma.

    using Microsoft.Extensions.Configuration;
    

    Dodaj lub zaktualizuj konstruktor używany do uzyskania wystąpienia IConfiguration za pośrednictwem wstrzykiwania zależności.

    private readonly IConfiguration _configuration;
    
    public Function1(IConfiguration configuration)
    {
        _configuration = configuration;
    }
    
  4. Zaktualizuj metodę , Run aby odczytywać wartości z konfiguracji.

    [FunctionName("Function1")]
    public async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
    
        // Read configuration data
        string keyName = "TestApp:Settings:Message";
        string message = _configuration[keyName];
    
        return message != null
            ? (ActionResult)new OkObjectResult(message)
            : new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration.");
    }
    

    Uwaga

    Klasa Function1 i Run metoda nie powinny być statyczne. Usuń modyfikator, static jeśli został wygenerowany automatycznie.

Lokalne testowanie funkcji

  1. Ustaw zmienną środowiskową o nazwie ConnectionString i ustaw ją na klucz dostępu do magazynu usługi App Configuration. Jeśli używasz wiersza polecenia systemu Windows, uruchom następujące polecenie i uruchom ponownie wiersz polecenia, aby zezwolić na wprowadzenie zmian:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    Jeśli używasz programu Windows PowerShell, uruchom następujące polecenie:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    

    Jeśli używasz systemu macOS lub Linux, uruchom następujące polecenie:

        export ConnectionString='connection-string-of-your-app-configuration-store'
    
  2. Naciśnij F5, aby przetestować funkcję. Po wyświetleniu monitu zaakceptuj żądanie programu Visual Studio dotyczące pobrania i zainstalowania zestawu narzędzi Azure Functions Core (CLI). Może być również konieczne włączenie wyjątku zapory, aby narzędzia mogły obsługiwać żądania HTTP.

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

    Debugowanie funkcji w programie VS z przewodnika Szybki start

  4. Wklej adres URL żądania HTTP w pasku adresu przeglądarki. Na poniższej ilustracji przedstawiono odpowiedź w przeglądarce na lokalne żądanie GET zwrócone przez funkcję.

    Lokalne uruchamianie funkcji z przewodnika Szybki start

Czyszczenie zasobów

Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przypadkowo nieprawidłowej grupy zasobów ani zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.

  1. Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
  2. W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
  3. Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
  4. Wybierz pozycję Usuń grupę zasobów.
  5. Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.

Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.

Następne kroki

W tym przewodniku Szybki start utworzono nowy magazyn usługi App Configuration i użyto go z aplikacją usługi Azure Functions za pośrednictwem dostawcy usługi App Configuration. Aby dowiedzieć się, jak zaktualizować aplikację usługi Azure Functions w celu dynamicznego odświeżania konfiguracji, przejdź do następnego samouczka.

Aby dowiedzieć się, jak używać tożsamości zarządzanej platformy Azure w celu usprawnienia dostępu do usługi App Configuration, przejdź do następnego samouczka.