Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous allez améliorer une application console Go de base pour actualiser dynamiquement la configuration à partir d’Azure App Configuration. Cela permet à votre application de récupérer les modifications de configuration sans nécessiter de redémarrage.
Conditions préalables
- Suivre le guide de démarrage rapide : Créer une application console Go avec Azure App Configuration comme point de départ pour ce guide de démarrage rapide
Recharger des données à partir d’Azure App Configuration
Ouvrez le fichier
appconfig.go. Dans la fonctionloadAzureAppConfiguration, mettez à jouroptionspour permettre l'actualisation. Le fournisseur Go recharge la configuration entière chaque fois qu’elle détecte une modification dans l’une des valeurs clés sélectionnées (celles commençant par Config et sans étiquette). Pour plus d’informations sur la surveillance des modifications de configuration, consultez les meilleures pratiques pour l’actualisation de la configuration.options := &azureappconfiguration.Options{ Selectors: []azureappconfiguration.Selector{ { KeyFilter: "Config.*", }, }, TrimKeyPrefixes: []string{"Config."}, RefreshOptions: azureappconfiguration.KeyValueRefreshOptions{ Enabled: true, }, }Conseil / Astuce
Vous pouvez définir la
Intervalpropriété de laRefreshOptionspropriété pour spécifier la durée minimale entre les actualisations de configuration. Dans cet exemple, vous utilisez la valeur par défaut de 30 secondes. Choisissez une valeur plus élevée si vous devez réduire le nombre de demandes adressées à votre magasin App Configuration.Ouvrez le fichier
main.goet ajoutez le code suivant à votre fonction principale :// Existing code in main.go // ... ... fmt.Println("\nRaw JSON Configuration:") fmt.Println("------------------------") fmt.Println(string(jsonBytes)) // Register refresh callback to update the configuration provider.OnRefreshSuccess(func() { var updatedConfig Config // Re-unmarshal the configuration err := provider.Unmarshal(&updatedConfig, nil) if err != nil { log.Printf("Error unmarshalling updated configuration: %s", err) return } fmt.Printf("Message: %s\n", updatedConfig.Message) }) // Setup a channel to listen for termination signals done := make(chan os.Signal, 1) signal.Notify(done, syscall.SIGINT, syscall.SIGTERM) fmt.Println("\nWaiting for configuration changes...") fmt.Println("(Update values in Azure App Configuration to see refresh in action)") fmt.Println("Press Ctrl+C to exit") // Start a ticker to periodically trigger refresh ticker := time.NewTicker(30 * time.Second) defer ticker.Stop() // Keep the application running until terminated for { select { case <-ticker.C: // Trigger refresh in background go func() { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() if err := provider.Refresh(ctx); err != nil { log.Printf("Error refreshing configuration: %s", err) } }() case <-done: fmt.Println("\nExiting...") return } }
Exécuter l’application
Exécutez votre application :
go mod tidy go run .Maintenez l’application en fonctionnement.
Accédez à votre magasin App Configuration et mettez à jour la valeur de la
Config.Messageclé.Clé Valeur Type de contenu Config.Message Hello World - mis à jour ! Laissez ce champ vide Observez votre application console : dans les 30 secondes, elle doit détecter la modification et afficher la configuration mise à jour.
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.
- Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
- Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
- Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
- Sélectionnez Supprimer le groupe de ressources.
- 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.