Partage via


Charger la configuration à partir d’Azure Front Door dans les applications clientes (préversion)

L’intégration d’Azure App Configuration à Azure Front Door permet à vos applications clientes de récupérer la configuration à partir d’emplacements de périphérie dans le monde entier, ce qui garantit des performances optimales à n’importe quelle échelle. Le processus d’intégration implique les étapes suivantes :

  1. Créez des données de configuration dans Azure App Configuration : définissez les valeurs clés, les indicateurs de fonctionnalité ou les instantanés de votre application dans Azure App Configuration.

  2. Connectez Azure App Configuration à Azure Front Door : configurez la connexion entre votre magasin App Configuration et Azure Front Door via le portail Azure. Le portail offre une expérience guidée pour configurer les filtres de configuration pour contrôler les données exposées via le point de terminaison Azure Front Door. Configurer Azure Front Door pour se connecter à App Config

  3. Connectez l’application à Azure Front Door : configurez votre application cliente pour récupérer la configuration à partir du point de terminaison Azure Front Door à l’aide du fournisseur App Configuration. Le fournisseur gère les mises à jour d’authentification anonyme et de configuration dynamique. Ce document explique comment configurer cette connexion.

  4. Déployer et gérer la configuration : déployez votre application en production. Vos clients récupèrent désormais automatiquement la configuration à partir de l’emplacement de périphérie Azure Front Door le plus proche. Mettez à jour les valeurs de configuration dans Azure App Configuration en fonction des besoins : les modifications se propagent globalement en fonction du temps d’expiration du cache Azure Front Door configuré sans nécessiter de mises à jour d’application ou de redéploiements.

Conseil / Astuce

Pour obtenir une vue d’ensemble visuelle de la configuration de bout en bout, consultez la vidéo de présentation à grande échelle.

Exemples d’applications clientes

Le code suivant montre comment charger la configuration à partir d’Azure Front Door. L’application récupère toutes les clés à partir d’un préfixe « App1 : » et recherche les mises à jour toutes les minutes. Lorsque l’application demande des mises à jour, Azure Front Door retourne des valeurs mises en cache, si possible, sinon elle récupère une nouvelle configuration à partir du service App Configuration.

Remplacez {YOUR-AFD-ENDPOINT} par votre point de terminaison Azure Front Door, qui est similaire à https://xxxx.azurefd.net.

Utilisez l’API ConnectAzureFrontDoor pour charger les paramètres de configuration à partir d’Azure Front Door.

builder.Configuration.AddAzureAppConfiguration(options =>
{
    options.ConnectAzureFrontDoor(new Uri("{YOUR-AFD-ENDPOINT}"))
            .Select("App1:*")
            .ConfigureRefresh(refreshOptions =>
            {
                refreshOptions.RegisterAll()
                    .SetRefreshInterval(TimeSpan.FromMinutes(1));
            });
});

Pour obtenir un exemple complet d’application, reportez-vous à l’application MAUI avec Azure App Configuration et Azure Front Door.

Considérations et cas de périphérie

  • Étendue de la demande : les filtres clé-valeur utilisés par votre application doivent correspondre exactement aux filtres configurés pour le point de terminaison Azure Front Door ; toute incompatibilité entraîne le rejet de la demande. Par exemple, si votre point de terminaison est configuré pour autoriser l’accès aux clés à partir d’un préfixe « App1 : », le code de l’application doit également charger des clés à partir de « App1 : ». Toutefois, si votre application charge des clés à partir d’un préfixe plus spécifique comme « App1 :Prod : », la requête est rejetée. Consultez des exemples de correspondance de filtres d’application avec des filtres de point de terminaison.
  • Chargement exclusif des indicateurs de fonctionnalité : si votre application charge uniquement des indicateurs de fonctionnalité, vous devez ajouter deux filtres de clés dans les règles Azure Front Door : une pour toutes les clés sans étiquette et une seconde pour toutes les clés commençant par « appconfig.featureflag/{YOUR-FEATURE-FLAG-PREFIX} ».
  • Stratégie d’actualisation : les applications chargées à partir d’Azure Front Door ne peuvent pas utiliser l’actualisation de la clé Sentinel. Si l’actualisation est activée, l’application doit être configurée pour surveiller toutes les clés sélectionnées pour les modifications.
  • Références d’instantanés : si votre application charge une paire clé-valeur qui est une référence d’instantané, Azure Front Door doit être configuré pour autoriser l’instantané référencé dans la liste d’autorisation. Incluez le nom de l’instantané dans vos filtres Azure Front Door pour permettre la résolution des instantanés.

Résolution des problèmes

La configuration ne se charge pas

  • Vérifiez que l’URL du point de terminaison Azure Front Door est correctement configurée dans le code de l’application.
  • Recherchez les avertissements dans le portail de configuration d’application et corrigez les problèmes le cas échéant.
  • Vérifiez que les filtres d’étendue corrects sont définis lors de la configuration du point de terminaison Azure Front Door. Ces filtres (pour les valeurs clés, les instantanés et les indicateurs de fonctionnalité) définissent les règles regex qui bloquent les requêtes qui ne correspondent pas aux filtres spécifiés. Si votre application ne peut pas accéder à sa configuration, examinez les règles d’Azure Front Door pour identifier les modèles d'expression régulière qui bloquent. Mettez à jour la règle avec le filtre approprié ou créez un point de terminaison AFD à partir du portail App Configuration. En savoir plus sur les règles de routage Azure Front Door.

Note

Pour modifier les règles de point de terminaison Azure Front Door, utilisez le portail Azure Front Door. La modification de ces paramètres à partir du portail App Configuration sera disponible dans une prochaine version.

La configuration n’est pas actualisée

Langues disponibles

Language Version minimale / état Lien de paquet
.NET 8.5.0-preview Microsoft.Extensions.Configuration.AzureAppConfiguration
JavaScript 2.3.0-preview @azure/app-configuration-provider
Java Travail en cours N/A
Python Travail en cours N/A
Go Travail en cours N/A