Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erfahren Sie, wie Sie Ihre Azure Functions-Anwendungseinstellungen außerhalb Ihres Codes mithilfe der Azure App-Konfiguration zentralisieren und verwalten. Mit der Integration des .NET-Konfigurationsanbieters können Sie die App-Konfiguration als zusätzliche Konfigurationsquelle mit nur wenigen einfachen Codeänderungen hinzufügen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.
- Ein App-Konfigurationsspeicher, wie in der Anleitung zum Erstellen eines Speichers gezeigt.
- Visual Studio mit der Workload Azure-Entwicklung.
- Azure Functions-Tools.
Hinzufügen eines Schlüssel-Wert-Paars
Fügen Sie dem App Configuration-Speicher den folgenden Schlüsselwert hinzu, und übernehmen Sie für Bezeichnung und Inhaltstyp die Standardwerte. Weitere Informationen zum Hinzufügen von Schlüssel-Wert-Paaren zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Wert-Paars.
| Schlüssel | Wert |
|---|---|
| TestApp:Settings:Message | Daten aus Azure App Configuration |
Erstellen einer Funktions-App
Erstellen Sie eine Azure Functions-App mit Visual Studio, indem Sie die Vorlage Azure-Funktionen (C#) auswählen. Diese Vorlage führt Sie durch die Konfiguration wesentlicher Einstellungen für Ihr Projekt. Ausführliche Anweisungen finden Sie unter Entwickeln von Azure-Funktionen mit Visual Studio.
Verwenden Sie die folgende Tabelle als Referenz für Schlüsselparameter beim Erstellen der Funktions-App.
| Einstellung | Wert |
|---|---|
| Functions-Worker | .NET 8.0 (isoliert) |
| Funktion | HTTP-Trigger |
| Autorisierungsstufe | Anonym |
Hinweis
Azure App-Konfiguration kann mit Azure Functions entweder im isolierten Workermodell oder im In-Process-Modell verwendet werden. In dieser Schnellstartanleitung wird das isolierte Arbeitsmodell als Beispiel verwendet. Sie finden vollständige Codebeispiele für beide Modelle im GitHub-Repository der Azure-App-Konfiguration.
Herstellen einer Verbindung mit einem App Configuration-Speicher
Sie können eine Verbindung mit Ihrem App Configuration-Speicher entweder mithilfe von Microsoft Entra ID (empfohlen) oder mit einer Verbindungszeichenfolge herstellen.
Klicken Sie mit der rechten Maustaste auf Ihr Projekt, und wählen Sie NuGet-Pakete verwalten aus. Suchen Sie auf der Registerkarte "Durchsuchen" nach der neuesten stabilen Version der folgenden NuGet-Pakete und fügen Sie diese Ihrem Projekt hinzu.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Azure.Identity
Öffnen Sie Program.cs , und aktualisieren Sie den Code wie folgt. Sie fügen Azure App-Konfiguration als zusätzliche Konfigurationsquelle hinzu, indem Sie die
AddAzureAppConfigurationMethode aufrufen.Sie verwenden die
DefaultAzureCredentialzur Authentifizierung mit Ihrem App Configuration Store. Folgen Sie den Anweisungen , um Ihre Anmeldeinformationen der Rolle " App-Konfigurationsdatenleser " zuzuweisen. Achten Sie darauf, ausreichend Zeit für die Verteilung der Berechtigung einzuplanen, bevor Sie Ihre Anwendung ausführen.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:*"); });Öffnen Sie Function1.cs, und fügen Sie den folgenden Namespace hinzu.
using Microsoft.Extensions.Configuration;Aktualisieren Sie den Konstruktor, um eine Instanz von
IConfigurationmithilfe von Dependency Injection zu erhalten.private readonly IConfiguration _configuration; private readonly ILogger<Function1> _logger; public Function1(IConfiguration configuration, ILogger<Function1> logger) { _configuration = configuration; _logger = logger; }Aktualisieren Sie die
Run-Methode, um Werte aus der Konfiguration zu lesen.[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."); }
Lokales Testen der Funktion
Legen Sie die Umgebungsvariable fest.
Legen Sie die Umgebungsvariable namens AZURE_APPCONFIG_ENDPOINT auf den Endpunkt Ihres App-Konfigurationsspeichers fest, der unter der Übersicht über Ihren Store im Azure-Portal zu finden ist.
Führen Sie bei Verwendung einer Windows-Eingabeaufforderung den folgenden Befehl aus, und starten Sie die Eingabeaufforderung neu, damit die Änderung wirksam wird:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"Wenn Sie PowerShell verwenden, führen Sie den folgenden Befehl aus:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"Führen Sie bei Verwendung von macOS oder Linux den folgenden Befehl aus:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'Drücken Sie F5, um Ihre Funktion zu testen. Akzeptieren Sie die entsprechende Aufforderung von Visual Studio zum Herunterladen und Installieren der Azure Functions Core (CLI)-Tools. Sie müssen möglicherweise auch eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können.
Kopieren Sie die URL Ihrer Funktion aus der Azure Functions-Laufzeitausgabe.
Fügen Sie die URL der HTTP-Anforderung in die Adresszeile des Browsers ein. In der folgenden Abbildung sehen Sie die Antwort des Browsers auf die von der Funktion zurückgegebene lokale GET-Anforderung.
Verwalten von Triggerparametern mit App-Konfigurationsverweise
Azure Functions-Trigger definieren, wie eine Funktion aufgerufen wird. Triggerattribute, z. B. Warteschlangennamen oder Datenbanknamen, werden zur Startzeit des Hosts geladen und können keine Werte direkt aus der Azure App-Konfiguration abrufen. Um diese Parameter zu verwalten, können Sie das App-Konfigurationsreferenzfeature verwenden, das für Azure Functions und App Service verfügbar ist.
Mit dem Feature "App-Konfigurationsreferenz" können Sie direkt aus den Anwendungseinstellungen auf Schlüsselwerte verweisen, die in der Azure-App-Konfiguration gespeichert sind. Azure Functions löst diese Verweise beim Start auf, sodass Sie Triggerparameter zentral und sicher verwalten können.
Betrachten Sie z. B. eine in der Warteschlange ausgelöste Funktions-App. Anstatt den Warteschlangennamen direkt im Trigger-Attribut anzugeben, können Sie auf einen Schlüsselwert verweisen, der in der Azure App-Konfiguration gespeichert ist.
Fügen Sie im Azure App-Konfigurationsspeicher einen Schlüsselwert für ihren Warteschlangennamen hinzu:
Schlüssel Wert TestApp:Storage:QueueName <Der Warteschlangenname in Ihrem Speicherkonto> Wählen Sie in Ihrer Funktions-App Einstellungen ->Umgebungsvariablen ->App-Einstellungen im Azure-Portal aus, und erstellen Sie eine Anwendungseinstellung, die auf den App-Konfigurationsschlüssel verweist:
Name Wert MyQueueName @Microsoft.AppConfiguration(Endpoint=<your-store-endpoint>; Key=TestApp:Storage:QueueName)Tipp
Wenn Sie über mehrere Schlüsselwerte in der Azure-App-Konfiguration verfügen, können Sie sie im Batch als App-Konfigurationsverweise auf Azure-Funktionen mithilfe des Azure-Portals oder der CLI exportieren.
Aktivieren Sie die verwaltete Identität für Ihre Azure Functions-App, und weisen Sie sie der Rolle " App-Konfigurationsdatenleser " für Ihren App-Konfigurationsspeicher zu. Ausführliche Anweisungen zum Einrichten von App-Konfigurationsreferenzen finden Sie unter Verwenden von App-Konfigurationsreferenzen in App Service und Azure Functions.
Aktualisieren Sie die durch die Warteschlange ausgelöste Funktion so, dass sie die Anwendungseinstellung verwendet:
[Function("QueueTriggeredFunction")] public void Run([QueueTrigger(queueName: "%MyQueueName%")] QueueMessage message) { _logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}"); }Zur Laufzeit löst Azure Functions den
%MyQueueName%Platzhalter in den in der Azure App-Konfiguration gespeicherten Wert auf, sodass Sie Triggerparameter zentral verwalten können, ohne sie in Ihren Funktionscode zu codieren.
Bereinigen von Ressourcen
Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.
- Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
- Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
- Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
- Wählen Sie die Option Ressourcengruppe löschen.
- Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.
Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.
Nächste Schritte
In dieser Schnellstartanleitung haben Sie die Azure-App-Konfiguration in eine Azure Functions-App integriert. Um zu erfahren, wie Ihre Funktions-App die dynamische Aktualisierung von Konfigurationseinstellungen ermöglicht, fahren Sie mit dem nächsten Lernprogramm fort.
Wenn Sie erfahren möchten, wie Sie Featurekennzeichnungen aus der Azure-App-Konfiguration in Ihrer Azure Functions-App verwenden, fahren Sie mit dem folgenden Lernprogramm fort.
Wenn Sie erfahren möchten, wie Sie eine von Azure verwaltete Identität verwenden, um den Zugriff auf die App-Konfiguration zu optimieren, fahren Sie mit dem folgenden Lernprogramm fort.