Partager via


Tutoriel : Utiliser une configuration dynamique dans une application Azure Functions

Ce tutoriel montre comment activer les mises à jour de configuration dynamique dans votre application Azure Functions. Il s’appuie sur l’application Azure Functions introduite dans les guides de démarrage rapide. Avant de continuer, commencez par créer une application Azure Functions avec Azure App Configuration .

Dans ce tutoriel, vous allez apprendre à :

  • Configurez l’actualisation de la configuration dynamique pour votre application Azure Functions.
  • Activez l’actualisation automatique de la configuration à l’aide du middleware App Configuration.
  • Utilisez la configuration la plus récente dans les appels de fonction lorsque des modifications se produisent dans votre magasin App Configuration.

Conditions préalables

Recharger des données à partir d’Azure App Configuration

Le fournisseur .NET Azure App Configuration prend en charge la mise en cache et l’actualisation dynamique des paramètres de configuration en fonction de l’activité de l’application. Dans cette section, vous allez configurer le fournisseur pour actualiser les paramètres de manière dynamique et activer l’actualisation automatique de la configuration à l’aide du middleware App Configuration, Microsoft.Azure.AppConfiguration.Functions.Workerchaque fois qu’une fonction s’exécute.

Remarque

Azure App Configuration peut être utilisé avec Azure Functions dans le modèle worker isolé ou dans le modèle in-process. Ce tutoriel utilise le modèle worker isolé comme exemple. Vous trouverez des exemples de code complets pour les deux modèles dans le référentiel GitHub Azure App Configuration.

  1. Ouvrez le fichier Program.cs et mettez à jour l'appel à AddAzureAppConfiguration pour inclure la méthode ConfigureRefresh. Cette méthode configure les conditions d’actualisation des paramètres de configuration, notamment la spécification des clés à surveiller et l’intervalle entre les vérifications d’actualisation.

    // 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:*")
               // Reload configuration if any selected key-values have changed.
               // Use the default refresh interval of 30 seconds. It can be overridden via AzureAppConfigurationRefreshOptions.SetRefreshInterval.
               .ConfigureRefresh(refreshOptions =>
               {
                   refreshOptions.RegisterAll();
               });
    });
    

    Vous appelez la RegisterAll méthode pour indiquer au fournisseur App Configuration de recharger l’intégralité de la configuration chaque fois qu’elle détecte une modification dans l’une des valeurs clés sélectionnées (celles commençant par TestApp : et sans étiquette). Pour plus d’informations sur la surveillance des modifications de configuration, consultez les meilleures pratiques pour l’actualisation de la configuration.

    Par défaut, l’intervalle d’actualisation est défini sur 30 secondes. Vous pouvez personnaliser cet intervalle en appelant la AzureAppConfigurationRefreshOptions.SetRefreshInterval méthode.

  2. Mettez à jour le fichier Program.cs pour activer l’actualisation automatique de la configuration lors de chaque exécution de fonction en ajoutant l’intergiciel App Configuration :

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware to the service collection.
    builder.Services.AddAzureAppConfiguration()
    
    // Use Azure App Configuration middleware for dynamic configuration refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    

Tester la fonction en local

  1. Définissez la variable d’environnement .

    Définissez la variable d’environnement nommée AZURE_APPCONFIG_ENDPOINT sur le point de terminaison de votre magasin App Configuration qui se trouve sous la Vue d’ensemble de votre magasin dans le Portail Azure.

    Si vous utilisez l’invite de commandes Windows, exécutez la commande suivante et redémarrez l’invite pour que la modification soit prise en compte :

    setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Si vous utilisez PowerShell, exécutez la commande suivante :

    $Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

    Si vous utilisez macOS ou Linux, exécutez la commande suivante :

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Pour tester votre fonction, appuyez sur F5. Si vous y êtes invité, acceptez la requête dans Visual Studio pour télécharger et installer Azure Functions Core (CLI) Tools. Vous devrez peut-être aussi activer une exception de pare-feu afin de permettre aux outils de prendre en charge les requêtes HTTP.

  3. Copiez l’URL de votre fonction à partir de la sortie runtime Azure Functions.

    Démarrage rapide du débogage de fonctions dans Visual Studio

  4. Collez l’URL de la demande HTTP dans la barre d’adresses de votre navigateur. La capture d’écran suivante du navigateur montre la réponse retournée par la fonction, suite à la requête GET locale.

    Démarrage rapide du lancement de fonctions local

  5. Sélectionnez votre magasin App Configuration dans le portail Azure et mettez à jour la valeur de la clé suivante dans l’Explorateur de configuration.

    Clé Valeur
    TestApp :Settings :Message Données issues d’Azure App Configuration - Mise à jour
  6. Actualisez votre navigateur quelques fois. Après l’intervalle d’actualisation par défaut de 30 secondes, la page affiche la valeur mise à jour récupérée à partir de votre application Azure Functions.

    Démarrage rapide - Actualisation locale de la fonction

Nettoyer les ressources

Si vous ne souhaitez plus utiliser les ressources créées dans cet article, supprimez le groupe de ressources que vous avez créé ici afin d’éviter des frais.

Important

La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou le mauvais groupe de ressources. Si vous avez créé les ressources pour cet article dans un groupe de ressources contenant d’autres ressources que vous souhaitez conserver, supprimez chaque ressource individuellement à partir de son volet, au lieu de supprimer l’intégralité du groupe de ressources.

  1. Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
  2. Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
  3. Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
  4. Sélectionnez Supprimer le groupe de ressources.
  5. Vous êtes invité à confirmer la suppression du groupe de ressources. Entrez le nom de votre groupe de ressources à confirmer, puis sélectionnez Supprimer.

Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.

Étapes suivantes

Dans ce tutoriel, vous avez activé votre application Azure Functions pour actualiser dynamiquement les paramètres de configuration à partir d’App Configuration.

Pour savoir comment utiliser des indicateurs de fonctionnalité à partir d’Azure App Configuration au sein de votre application Azure Functions, passez au tutoriel suivant.

Pour savoir comment utiliser une identité managée Azure pour simplifier l’accès à App Configuration, passez au tutoriel suivant.