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 verwenden Sie die Azure App-Konfiguration, um Speicher und Verwaltung Ihrer App-Einstellungen für ein Aspire-Projekt zu externalisieren. Sie verwenden Azure App Configuration Aspire-Integrationsbibliotheken, um eine App-Konfigurationsressource bereitzustellen und die App-Konfiguration in jeder verteilten App zu verwenden.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.
- Richten Sie die Entwicklungsumgebung für Aspire ein.
- Erstellen Sie eine neue Aspire-Lösung mit der Vorlage "Aspire Starter".
- Eine OCI-kompatible Containerlaufzeit, z. B. Docker Desktop.
Testen der App lokal
Die Vorlage "Aspire Starter" enthält eine Frontend-Web-App, die mit einem Minimal-API-Projekt kommuniziert. Das API-Projekt wird verwendet, um gefälschte Wetterdaten für das Frontend bereitzustellen. Die Frontend-App ist so konfiguriert, dass sie Servicediscovery verwendet, um sich mit dem API-Projekt zu verbinden. Es gibt auch ein AppHost Projekt, das alle verteilten Anwendungen in der Aspire-Lösung koordiniert.
Führen Sie das
AppHostProjekt aus. Sie sehen das Aspire-Dashboard in Ihrem Browser.Klicken Sie auf die URL des Web-Frontends. Sie sehen eine Seite mit einer Willkommensnachricht.
Hinzufügen der Azure App-Konfiguration zur Aspire-Lösung
Navigieren Sie zum Verzeichnis des
AppHostProjekts. Führen Sie den folgenden Befehl aus, um dasAspire.Hosting.Azure.AppConfigurationNuget-Paket hinzuzufügen.dotnet add package Aspire.Hosting.Azure.AppConfigurationÖffnen Sie die Datei "AppHost.csproj ", um Pakete zu überprüfen. Es sollte ein Paket mit dem Namen
Aspire.Hosting.AppHostangezeigt werden, auf das verwiesen wird. Stellen Sie sicher, dass die Version des PaketsAspire.Hosting.AppHostmindestens so hoch ist wie die Version vonAspire.Hosting.Azure.AppConfiguration, die installiert wurde.Öffnen Sie die AppHost.cs Datei, und fügen Sie den folgenden Code hinzu.
var builder = DistributedApplication.CreateBuilder(args); // Add an Azure App Configuration resource var appConfiguration = builder.AddAzureAppConfiguration("appconfiguration");Von Bedeutung
Wenn Sie aufrufen
AddAzureAppConfiguration, weisen Sie die App an, Azure-Ressourcen während des App-Starts dynamisch zu generieren. Die App muss das entsprechende Abonnement und den entsprechenden Standort konfigurieren. Weitere Informationen finden Sie unter lokale Azure-Bereitstellung. Wenn Sie das neueste Aspire SDK verwenden, können Sie die Abonnementinformationen über das Aspire-Dashboard konfigurieren.
Hinweis
Ihnen muss im Azure-Abonnement entweder die Rolle Besitzer oder Benutzerzugriffsadministrator zugewiesen sein. Diese Rollen sind erforderlich, um Rollenzuweisungen im Rahmen des Bereitstellungsprozesses zu erstellen.
Tipp
Sie können auf vorhandene App-Konfigurationsressourcen verweisen, indem Sie einen Aufruf vom
RunAsExisting()mitbuilder.AddAzureAppConfiguration("appconfig")verketten. Weitere Informationen hierzu erfahren Sie unter "Verwenden vorhandener Azure-Ressourcen".Fügen Sie den Verweis der App-Konfigurationsressource hinzu, und konfigurieren Sie das
webfrontendProjekt so, dass es darauf wartet.builder.AddProject<Projects.AspireApp_Web>("webfrontend") .WithExternalHttpEndpoints() .WithHttpHealthCheck("/health") .WithReference(apiService) .WaitFor(apiService) .WithReference(appConfiguration) // reference the App Configuration resource .WaitFor(appConfiguration); // wait for the App Configuration resource to enter the Running state before starting the resourceFühren Sie das
AppHostProjekt aus. Sie sehen, dass die Azure App-Konfigurationsressource bereitgestellt wird.Warten Sie einige Minuten, und Sie sehen, dass die Azure App-Konfigurationsressource bereitgestellt und ausgeführt wird.
Wechseln Sie zum Azure-Portal, indem Sie auf die Bereitstellungs-URL im Aspire-Dashboard klicken. Sie sehen, dass die Bereitstellung abgeschlossen ist und Sie zu Ihrer Azure App-Konfigurationsressource wechseln können.
Einen Schlüsselwert hinzufügen
Fügen Sie ihrem App-Konfigurationsspeicher den folgenden Schlüsselwert hinzu, und lassen Sie "Bezeichnung " und "Inhaltstyp " mit ihren Standardwerten belassen. Weitere Informationen zum Hinzufügen von Schlüssel-Werten zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Werts.
| Key | Wert |
|---|---|
| TestApp:Settings:Message | Hallo aus Azure App-Konfiguration! |
Hinzufügen der Azure App-Konfiguration zur Aspire-Lösung
Navigieren Sie zum Verzeichnis des
AppHostProjekts. Führen Sie den folgenden Befehl aus, um dasAspire.Hosting.Azure.AppConfigurationNuget-Paket hinzuzufügen.dotnet add package Aspire.Hosting.Azure.AppConfigurationÖffnen Sie " AppHost.csproj". Stellen Sie sicher, dass die
Aspire.Hosting.AppHostPaketversion nicht vor der installierten Version liegt. Andernfalls müssen Sie dasAspire.Hosting.AppHostPaket aktualisieren.Öffnen Sie die AppHost.cs Datei, und fügen Sie den folgenden Code hinzu.
var builder = DistributedApplication.CreateBuilder(args); // Add an Azure App Configuration resource var appConfiguration = builder.AddAzureAppConfiguration("appconfiguration") .RunAsEmulator(emulator => { // use the App Configuration emulator emulator.WithDataBindMount(); });Von Bedeutung
Wenn Sie
RunAsEmulatoraufrufen, zieht es das App Configuration Emulator-Image und führt einen Container als App-Konfigurationsressource aus. Stellen Sie sicher, dass Sie über eine OCI-kompatible Containerlaufzeit auf Ihrem Computer verfügen. Für weitere Informationen besuchen Sie Aspire Container Runtime.Tipp
Sie können
WithDataBindMountoderWithDataVolumeaufrufen, um die Emulatorressource für beständigen Containerspeicher zu konfigurieren, sodass Sie Schlüsselwerte nicht jedes Mal neu erstellen müssen.Fügen Sie den Verweis der App-Konfigurationsressource hinzu, und konfigurieren Sie das
webfrontendProjekt so, dass es darauf wartet.builder.AddProject<Projects.AspireApp_Web>("webfrontend") .WithExternalHttpEndpoints() .WithHttpHealthCheck("/health") .WithReference(apiService) .WaitFor(apiService) .WithReference(appConfiguration) // reference the App Configuration resource .WaitFor(appConfiguration); // wait for the App Configuration resource to enter the Running state before starting the resourceStarten Sie die Containerruntime. In diesem Lernprogramm verwenden wir Docker Desktop.
Führen Sie das
AppHostProjekt aus. Wechseln Sie zum Aspire-Dashboard. Sie sehen, dass die Ressource des App-Konfigurationsemulators ausgeführt wird.Ein Container wird gestartet, um den App-Konfigurationsemulator auszuführen.
Einen Schlüsselwert hinzufügen
Klicken Sie auf die URL der
appconfigurationRessource. Die Benutzeroberfläche des App-Konfigurations-Emulators wird angezeigt.Klicken Sie auf die
CreateSchaltfläche in der oberen rechten Ecke.
Fügen Sie den folgenden Schlüsselwert hinzu.
Key Wert TestApp:Settings:Message Hallo aus Azure App-Konfiguration! Klicken Sie auf die Schaltfläche
Save.
Verwenden der App-Konfiguration in der Webanwendung
Navigieren Sie zum Verzeichnis des
WebProjekts. Führen Sie den folgenden Befehl aus, um dasAspire.Microsoft.Extensions.Configuration.AzureAppConfigurationNuget-Paket hinzuzufügen.dotnet add package Aspire.Microsoft.Extensions.Configuration.AzureAppConfigurationÖffnen Sie die datei Program.cs , und fügen Sie den folgenden Code hinzu.
var builder = WebApplication.CreateBuilder(args); // Use Azure App Configuration builder.AddAzureAppConfiguration("appconfiguration"); // use the resource name defined in the AppHost projectÖffnen Sie die Datei "Components/Pages/Home.razor ", und aktualisieren Sie sie mit dem folgenden Code.
@page "/" @inject IConfiguration Configuration <PageTitle>Home</PageTitle> <h1>Hello, world!</h1> @if (!string.IsNullOrWhiteSpace(message)) { <div class="alert alert-info">@message</div> } else { <div class="alert alert-info">Welcome to your new app.</div> } @code { private string? message; protected override void OnInitialized() { string msg = Configuration["TestApp:Settings:Message"]; message = string.IsNullOrWhiteSpace(msg) ? null : msg; } }Starten Sie das
AppHostProjekt neu. Wechseln Sie zum Aspire-Dashboard, und klicken Sie auf die URL des Web-Frontends.Sie sehen eine Seite mit einer Willkommensnachricht aus der Azure App-Konfiguration.
Nächste Schritte
In dieser Schnellstartanleitung führen Sie die folgenden Schritte aus:
- Eine Azure App-Konfigurationsressource wurde in einer Aspire-Lösung hinzugefügt.
- Lesen Sie Ihre Schlüsselwerte aus der Azure App-Konfiguration mit der App Configuration Aspire-Integrationsbibliothek.
- Zeigt eine Webseite mit den Einstellungen an, die Sie in Ihrer App-Konfiguration konfiguriert haben.
Um zu erfahren, wie Sie Ihre Aspire-App so konfigurieren, dass Konfigurationseinstellungen dynamisch aktualisiert werden, fahren Sie mit dem nächsten Lernprogramm fort.
Um zu erfahren, wie Sie Featurekennzeichnungen in Ihrer Aspire-App verwenden, fahren Sie mit dem nächsten Lernprogramm fort.
Wenn Sie mehr über den Azure App-Konfigurationsemulator erfahren möchten, fahren Sie mit dem folgenden Dokument fort.