Démarrage rapide : Créer une solution Aspire avec Azure App Configuration

Dans ce démarrage rapide, vous utilisez Azure App Configuration pour externaliser le stockage et la gestion des paramètres de votre application pour un projet Aspire. Vous utilisez les bibliothèques d’intégration Azure App Configuration Aspire pour provisionner une ressource App Configuration et utiliser App Configuration dans chaque application distribuée.

Prerequisites

Tester l’application localement

Le modèle Aspire Starter inclut une application web frontale qui communique avec un projet d’API minimal. Le projet API fournit de fausses données météorologiques au frontend. L’application frontend utilise la découverte de services pour se connecter au projet API. Un AppHost orchestre toutes les ressources de la solution Aspire.

  1. Depuis la racine de la solution, exécutez l’AppHost :

    aspire run
    

    Vous voyez le tableau de bord Aspire dans votre navigateur.

    Capture d’écran du tableau de bord Aspire avec des ressources de service web frontend et API.

  2. Cliquez sur l’URL du front-end web. Vous voyez une page contenant un message de bienvenue.

    Capture d’écran d’une application web avec un message de bienvenue.

Ajouter Azure App Configuration à la solution Aspire

  1. Allez dans le répertoire AppHost. Exécutez la commande suivante pour ajouter le Aspire.Hosting.Azure.AppConfiguration package NuGet.

    aspire add Aspire.Hosting.Azure.AppConfiguration
    

    Pour plus d’informations, consultez aspire addl’intégration Azure App Configuration Hosting.

  2. Ouvrez le fichier AppHost.cs et ajoutez le code suivant.

    var builder = DistributedApplication.CreateBuilder(args);
    
    // Add an Azure App Configuration resource
    var appConfiguration = builder.AddAzureAppConfiguration("appconfiguration");
    

    Important

    Lorsque vous appelez AddAzureAppConfiguration, vous demandez à l’application de générer dynamiquement des ressources Azure au démarrage de l’application. L’application doit configurer l’abonnement et l’emplacement appropriés. Pour plus d’informations, consultez Provisionnement Azure local. Si vous utilisez le dernier SDK Aspire, vous pouvez configurer les informations d’abonnement via le tableau de bord Aspire. Capture d’écran de la boîte de dialogue Modifier le contexte Azure du tableau de bord Aspire.

    Note

    Vous devez disposer du rôle Propriétaire ou Administrateur de l’accès utilisateur attribué sur l’abonnement Azure. Ces rôles sont nécessaires pour créer des attributions de rôles dans le cadre du processus d’approvisionnement.

    Conseil / Astuce

    Référencez un magasin de configuration d’applications existant en passant son nom et son groupe de ressources comme paramètres à AsExisting():

    var storeName = builder.AddParameter("appConfigurationName");
    var resourceGroup = builder.AddParameter("appConfigurationResourceGroup");
    
    var appConfiguration = builder.AddAzureAppConfiguration("appconfiguration")
        .AsExisting(storeName, resourceGroup);
    

    Pour plus d’informations, voir Utiliser les ressources Azure existantes.

  3. Ajoutez la référence de la ressource App Configuration au projet webfrontend et configurez-le pour qu'il l'attende.

    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
    
  4. À partir de la racine de la solution, exécutons aspire run. Vous voyez la ressource Azure App Configuration en cours de provision.

    Capture d’écran du tableau de bord Aspire provisionnant la ressource Azure App Configuration.

  5. Attendez quelques minutes et vous voyez que la ressource Azure App Configuration est provisionnée et est en cours d’exécution.

    Capture d’écran du tableau de bord Aspire avec la ressource Azure App Configuration en cours d’exécution.

  6. Accédez au portail Azure en cliquant sur l’URL de déploiement dans le tableau de bord Aspire. Vous voyez que le déploiement est terminé et que vous pouvez accéder à votre ressource Azure App Configuration.

    Capture d’écran du portail Azure montrant que le déploiement d’App Configuration est terminé.

Ajouter une clé-valeur

Ajoutez la clé-valeur suivante à votre magasin App Configuration et laissez étiquette et type de contenu avec leurs valeurs par défaut. Pour plus d’informations sur l’ajout de clés-valeurs à un magasin avec le Portail Azure ou la CLI, consultez Créer une clé-valeur.

Key Valeur
TestApp :Settings :Message Bonjour à partir d’Azure App Configuration !

Ajouter Azure App Configuration à la solution Aspire

  1. Allez dans le répertoire AppHost . Exécutez la commande suivante pour ajouter le Aspire.Hosting.Azure.AppConfiguration package NuGet.

    aspire add Aspire.Hosting.Azure.AppConfiguration
    

    Pour plus d’informations, consultez aspire add et l’intégration Azure App Configuration Hosting.

  2. Ouvrez le fichier AppHost.cs et ajoutez le code suivant.

    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();
        });
    

    Important

    Lorsque vous appelez RunAsEmulator, il extrait l’image de l’émulateur App Configuration et exécute un conteneur en tant que ressource App Configuration. Vérifiez que vous disposez d’un runtime de conteneur conforme OCI sur votre ordinateur. Pour plus d’informations, accédez à Aspire Container Runtime.

    Conseil / Astuce

    Vous pouvez appeler WithDataBindMount ou WithDataVolume configurer la ressource de l’émulateur pour le stockage de conteneurs persistant afin que vous n’ayez pas besoin de recréer des valeurs de clé à chaque fois.

  3. Ajoutez la référence de la ressource App Configuration au projet webfrontend et configurez-le pour qu'il l'attende.

    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
    
  4. Démarrez votre runtime de conteneur. Dans ce tutoriel, nous utilisons Docker Desktop.

  5. À partir de la racine de la solution, exécutons aspire run. Accédez au tableau de bord Aspire. Vous voyez que la ressource de l’émulateur App Configuration est en cours d’exécution.

    Capture d’écran du tableau de bord Aspire montrant la ressource de l’émulateur App Configuration.

    Un conteneur est démarré pour exécuter l’émulateur App Configuration.

    Capture d’écran du bureau Docker exécutant un conteneur.

Ajouter une clé-valeur

  1. Cliquez sur l’URL de la appconfiguration ressource. L’interface utilisateur de l’émulateur App Configuration s’affiche.

  2. Cliquez sur le Create bouton en haut à droite.

    Capture d’écran de l’interface utilisateur de l’émulateur App Configuration.

  3. Ajoutez la clé-valeur suivante.

    Key Valeur
    TestApp :Settings :Message Bonjour à partir d’Azure App Configuration !
  4. Cliquez sur le bouton Save.

    Capture d’écran de l’interface utilisateur de l’émulateur App Configuration de la création d’une nouvelle valeur de clé.

Utiliser App Configuration dans l’application web

  1. Allez dans le Web répertoire du projet. Exécutez la commande suivante pour ajouter le Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration package NuGet.

    dotnet add package Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration
    
  2. Ouvrez le fichier Program.cs et ajoutez le code suivant.

    var builder = WebApplication.CreateBuilder(args);
    
    // Use Azure App Configuration
    builder.AddAzureAppConfiguration("appconfiguration"); // use the resource name defined in the AppHost project
    
  3. Ouvrez le fichier Components/Pages/Home.razor et mettez-le à jour avec le code suivant.

    @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. Arrêtez le processus en cours aspire run , relancez-le aspire run , puis sélectionnez l’URL du frontend web dans le tableau de bord Aspire.

    Capture d’écran du tableau de bord Aspire montrant les ressources.

  5. Vous voyez une page contenant un message de bienvenue d’Azure App Configuration.

    Capture d’écran d’une application web avec un message de bienvenue d’Azure App Configuration.

Pour plus d’informations sur la manière dont les applications consommatrices reçoivent et utilisent le point de terminaison App Configuration, voir Connect to Azure App Configuration.

Étapes suivantes

Dans ce guide de démarrage rapide, vous :

  • Ajout d’une ressource Azure App Configuration dans une solution Aspire.
  • Lisez vos valeurs clés à partir d’Azure App Configuration avec la bibliothèque d’intégration App Configuration Aspire.
  • Affiche une page web à l’aide des paramètres que vous avez configurés dans votre App Configuration.

Pour savoir comment configurer votre application Aspire pour actualiser dynamiquement les paramètres de configuration, passez au tutoriel suivant.

Pour savoir comment utiliser des indicateurs de fonctionnalité dans votre application Aspire, passez au tutoriel suivant.

Pour en savoir plus sur l’émulateur Azure App Configuration, passez au document suivant.