Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku Szybki start pokazano, jak scentralizować ustawienia aplikacji usługi Azure Functions i zarządzać nimi poza kodem przy użyciu usługi Azure App Configuration. Dzięki integracji dostawcy konfiguracji platformy .NET możesz dodać usługę App Configuration jako dodatkowe źródło konfiguracji z zaledwie kilkoma prostymi zmianami kodu.
Wymagania wstępne
- Konto Azure z aktywną subskrypcją. Utwórz je bezpłatnie.
- Magazyn usługi App Configuration, jak pokazano w samouczku dotyczącym tworzenia magazynu konfiguracji aplikacji.
- Program Visual Studio z pakietem roboczym Programowanie na platformie Azure .
- Narzędzia usługi Azure Functions.
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 par klucz-wartość do magazynu przy użyciu portalu Azure lub interfejsu wiersza polecenia, przejdź do Utwórz parę klucz-wartość.
Klawisz | Wartość |
---|---|
TestApp:Settings:Message | Dane z konfiguracji aplikacji Azure |
Utwórz aplikację funkcjonalną
Utwórz aplikację usługi Azure Functions przy użyciu programu Visual Studio, wybierając szablon usługi Azure Functions (C#). Ten szablon przeprowadzi Cię przez proces konfigurowania podstawowych ustawień projektu. Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie usługi Azure Functions przy użyciu programu Visual Studio.
Użyj poniższej tabeli jako odwołania do kluczowych parametrów podczas tworzenia aplikacji funkcji.
Ustawienia | Wartość |
---|---|
Pracownik funkcji | .NET 8.0 Izolowany |
Funkcja | Wyzwalacz HTTP |
Poziom autoryzacji | Anonim |
Uwaga / Notatka
Usługa Azure App Configuration może być używana z usługą Azure Functions w modelu izolowanego procesu roboczego lub w modelu procesu. W tym przewodniku Szybki start użyto modelu izolowanego procesu roboczego jako przykładu. Kompletne przykłady kodu dla obu modeli można znaleźć w repozytorium GitHub usługi Azure App Configuration.
Nawiązanie połączenia ze sklepem App Configuration
Możesz nawiązać połączenie ze sklepem App Configuration przy użyciu Microsoft Entra ID (zalecane) lub ciągu połączenia.
Kliknij projekt prawym przyciskiem myszy i wybierz polecenie Zarządzaj pakietami NuGet. Na karcie Przeglądaj wyszukaj i dodaj do projektu najnowszą stabilną wersję następujących pakietów NuGet.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Azure.Identity
Otwórz Program.cs i zaktualizuj kod w następujący sposób. Dodasz usługę Azure App Configuration jako dodatkowe źródło konfiguracji, wywołując metodę
AddAzureAppConfiguration
.Aby się uwierzytelnić w sklepie App Configuration, używasz
DefaultAzureCredential
. Postępuj zgodnie z instrukcjami, aby przypisać swoje poświadczenie do roli Czytelnika danych konfiguracji aplikacji. Upewnij się, że przed uruchomieniem aplikacji pozwolisz na wystarczający czas na propagację uprawnień.using Azure.Identity; using Microsoft.Azure.Functions.Worker.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; var builder = FunctionsApplication.CreateBuilder(args); // Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label .Select("TestApp:*"); });
Otwórz Function1.cs i dodaj następującą przestrzeń nazw.
using Microsoft.Extensions.Configuration;
Zaktualizuj konstruktor, aby uzyskać wystąpienie
IConfiguration
poprzez iniekcję zależności.private readonly IConfiguration _configuration; private readonly ILogger<Function1> _logger; public Function1(IConfiguration configuration, ILogger<Function1> logger) { _configuration = configuration; _logger = logger; }
Zaktualizuj metodę ,
Run
aby odczytywać wartości z konfiguracji.[Function("Function1")] public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) { _logger.LogInformation("C# HTTP trigger function processed a request."); // Read configuration data string key = "TestApp:Settings:Message"; string? message = _configuration[key]; return new OkObjectResult(message ?? $"Please create a key-value with the key '{key}' in Azure App Configuration."); }
Lokalne testowanie funkcji
Ustaw zmienną środowiskową .
Ustaw zmienną środowiskową o nazwie AZURE_APPCONFIG_ENDPOINT na punkt końcowy Twojego sklepu App Configuration, który znajdziesz w sekcji Przegląd w portalu Azure.
Jeśli używasz wiersza polecenia systemu Windows, uruchom następujące polecenie i uruchom ponownie wiersz polecenia, aby zezwolić na wprowadzenie zmian:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Jeśli używasz programu PowerShell, uruchom następujące polecenie:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Jeśli używasz systemu macOS lub Linux, uruchom następujące polecenie:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
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.
Skopiuj adres URL funkcji z danych wyjściowych środowiska uruchomieniowego usługi Azure Functions.
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ę.
Zarządzaj parametrami wyzwalacza za pomocą odwołań w usłudze App Configuration
Wyzwalacze usługi Azure Functions definiują sposób wywoływanej funkcji. Atrybuty wyzwalacza, takie jak nazwy kolejek lub nazwy baz danych, są ładowane w czasie uruchamiania hosta i nie mogą bezpośrednio pobierać wartości z usługi Azure App Configuration. Aby zarządzać tymi parametrami, możesz użyć funkcji referencyjnej usługi App Configuration dostępnej dla usług Azure Functions i App Service.
Funkcja referencyjna usługi App Configuration umożliwia odwoływanie się do par klucz-wartość przechowywanych w usłudze Azure App Configuration bezpośrednio z ustawień aplikacji. Usługa Azure Functions rozwiązuje te odwołania podczas uruchamiania, umożliwiając centralne i bezpieczne zarządzanie parametrami wyzwalacza.
Rozważmy na przykład aplikację funkcji wyzwalanej przez kolejkę. Zamiast określać nazwę kolejki bezpośrednio w atrybucie wyzwalacza, możesz odwołać się do wartości klucza przechowywanej w usłudze Azure App Configuration.
W magazynie usługi Azure App Configuration dodaj wartość klucza dla nazwy kolejki:
Klawisz Wartość TestApp:Storage:QueueName <Nazwa kolejki na koncie magazynowym> W aplikacji funkcji wybierz pozycję Ustawienia ->Zmienne środowiskowe ->Ustawienia aplikacji w witrynie Azure Portal i utwórz ustawienie aplikacji odwołujące się do klucza konfiguracji aplikacji:
Nazwa Wartość MyQueueName @Microsoft.AppConfiguration(Endpoint=<your-store-endpoint>; Key=TestApp:Storage:QueueName)
Wskazówka
Jeśli masz wiele par klucz-wartości w usłudze Azure App Configuration, możesz je wyeksportować w partii jako odwołania do usługi App Configuration do usługi Azure Functions przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia.
Włącz tożsamość zarządzaną dla aplikacji usługi Azure Functions i przypisz jej rolę Czytelnik danych konfiguracji aplikacji dla repozytorium App Configuration. Aby uzyskać szczegółowe instrukcje dotyczące konfigurowania odwołań do konfiguracji aplikacji, zobacz Use App Configuration references in App Service and Azure Functions (Używanie odwołań do konfiguracji aplikacji w usługach App Service i Azure Functions).
Zaktualizuj funkcję wyzwalaną przez kolejkę, aby użyć ustawienia aplikacji:
[Function("QueueTriggeredFunction")] public void Run([QueueTrigger(queueName: "%MyQueueName%")] QueueMessage message) { _logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}"); }
W czasie wykonywania usługa Azure Functions zamienia
%MyQueueName%
symbol zastępczy na wartość przechowywaną w usłudze Azure App Configuration, umożliwiając centralne zarządzanie parametrami wyzwalacza bez ich twardego kodowania w kodzie funkcji.
Uprzątnij zasoby
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 niewłaściwej grupy zasobów lub 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.
- Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
- W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
- Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
- Wybierz pozycję Usuń grupę zasobów.
- Poproszono Cię 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.
Dalsze kroki
W tym szybkim starcie zintegrowano usługę Azure App Configuration z aplikacją Azure Functions. Aby dowiedzieć się, jak umożliwić aplikacji funkcji dynamiczne odświeżanie ustawień konfiguracji, przejdź do następnego samouczka.
Aby dowiedzieć się, jak używać flag funkcji z usługi Azure App Configuration w aplikacji usługi Azure Functions, przejdź do następującego 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ępującego samouczka.