Freigeben über


Schnellstart: Erstellen einer Aspire-Lösung mit Azure App-Konfiguration

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

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.

  1. Führen Sie das AppHost Projekt aus. Sie sehen das Aspire-Dashboard in Ihrem Browser.

    Screenshot des Aspire-Dashboards mit Web-Frontend- und API-Dienstressourcen.

  2. Klicken Sie auf die URL des Web-Frontends. Sie sehen eine Seite mit einer Willkommensnachricht.

    Screenshot einer Web-App mit einer Willkommensnachricht.

Hinzufügen der Azure App-Konfiguration zur Aspire-Lösung

  1. Navigieren Sie zum Verzeichnis des AppHost Projekts. Führen Sie den folgenden Befehl aus, um das Aspire.Hosting.Azure.AppConfiguration Nuget-Paket hinzuzufügen.

    dotnet add package Aspire.Hosting.Azure.AppConfiguration
    
  2. Öffnen Sie die Datei "AppHost.csproj ", um Pakete zu überprüfen. Es sollte ein Paket mit dem Namen Aspire.Hosting.AppHost angezeigt werden, auf das verwiesen wird. Stellen Sie sicher, dass die Version des Pakets Aspire.Hosting.AppHost mindestens so hoch ist wie die Version von Aspire.Hosting.Azure.AppConfiguration, die installiert wurde.

  3. Ö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. Screenshot des Aspire-Dashboards, in dem Informationen zum Azure-Abonnement gefragt werden.

    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() mit builder.AddAzureAppConfiguration("appconfig") verketten. Weitere Informationen hierzu erfahren Sie unter "Verwenden vorhandener Azure-Ressourcen".

  4. Fügen Sie den Verweis der App-Konfigurationsressource hinzu, und konfigurieren Sie das webfrontend Projekt 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 resource
    
  5. Führen Sie das AppHost Projekt aus. Sie sehen, dass die Azure App-Konfigurationsressource bereitgestellt wird.

    Screenshot der Bereitstellung der Azure App-Konfigurationsressource im Aspire-Dashboard.

  6. Warten Sie einige Minuten, und Sie sehen, dass die Azure App-Konfigurationsressource bereitgestellt und ausgeführt wird.

    Screenshot des Aspire-Dashboards mit ausgeführter Azure App-Konfigurationsressource.

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

    Screenshot des Azure-Portals, in dem die Bereitstellung der App-Konfiguration abgeschlossen ist.

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

  1. Navigieren Sie zum Verzeichnis des AppHost Projekts. Führen Sie den folgenden Befehl aus, um das Aspire.Hosting.Azure.AppConfiguration Nuget-Paket hinzuzufügen.

    dotnet add package Aspire.Hosting.Azure.AppConfiguration
    
  2. Öffnen Sie " AppHost.csproj". Stellen Sie sicher, dass die Aspire.Hosting.AppHost Paketversion nicht vor der installierten Version liegt. Andernfalls müssen Sie das Aspire.Hosting.AppHost Paket aktualisieren.

  3. Ö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 RunAsEmulator aufrufen, 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 WithDataBindMount oder WithDataVolume aufrufen, um die Emulatorressource für beständigen Containerspeicher zu konfigurieren, sodass Sie Schlüsselwerte nicht jedes Mal neu erstellen müssen.

  4. Fügen Sie den Verweis der App-Konfigurationsressource hinzu, und konfigurieren Sie das webfrontend Projekt 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 resource
    
  5. Starten Sie die Containerruntime. In diesem Lernprogramm verwenden wir Docker Desktop.

  6. Führen Sie das AppHost Projekt aus. Wechseln Sie zum Aspire-Dashboard. Sie sehen, dass die Ressource des App-Konfigurationsemulators ausgeführt wird.

    Screenshot des Aspire-Dashboards mit der App-Konfigurations-Emulatorressource.

    Ein Container wird gestartet, um den App-Konfigurationsemulator auszuführen.

    Screenshot des Docker-Desktops, auf dem ein Container ausgeführt wird.

Einen Schlüsselwert hinzufügen

  1. Klicken Sie auf die URL der appconfiguration Ressource. Die Benutzeroberfläche des App-Konfigurations-Emulators wird angezeigt.

  2. Klicken Sie auf die Create Schaltfläche in der oberen rechten Ecke.

    Screenshot der Benutzeroberfläche des App-Konfigurations-Emulators.

  3. Fügen Sie den folgenden Schlüsselwert hinzu.

    Key Wert
    TestApp:Settings:Message Hallo aus Azure App-Konfiguration!
  4. Klicken Sie auf die Schaltfläche Save.

    Screenshot der Benutzeroberfläche des App-Konfigurationsemulators zum Erstellen eines neuen Schlüsselwerts.

Verwenden der App-Konfiguration in der Webanwendung

  1. Navigieren Sie zum Verzeichnis des Web Projekts. Führen Sie den folgenden Befehl aus, um das Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration Nuget-Paket hinzuzufügen.

    dotnet add package Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration
    
  2. Ö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
    
  3. Ö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;
        }
    }
    
  4. Starten Sie das AppHost Projekt neu. Wechseln Sie zum Aspire-Dashboard, und klicken Sie auf die URL des Web-Frontends.

    Screenshot des Aspire-Dashboards mit Ressourcen.

  5. Sie sehen eine Seite mit einer Willkommensnachricht aus der Azure App-Konfiguration.

    Screenshot einer Web-App 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.