Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban egy alapszintű Go-konzolalkalmazást fejleszt, amely dinamikusan frissíti a konfigurációt az Azure App Configurationból. Ez lehetővé teszi, hogy az alkalmazás újraindítás nélkül vegye át a konfigurációs módosításokat.
Előfeltételek
- Végezze el a Gyorsindítási útmutatót: Go-konzolalkalmazás létrehozása az Azure App Configuration használatával, mint a gyorsindítási útmutató kiindulópontja.
Adatok újrabetöltése az alkalmazáskonfigurációból
Nyissa meg a fájlt
appconfig.go
. AloadAzureAppConfiguration
függvényen belül módosítsa aoptions
-t a frissítés engedélyezéséhez. A Go-szolgáltató újra betölti a teljes konfigurációt, amikor a kiválasztott kulcsértékek bármelyikében változást észlel (a konfigurációval kezdődő és címkével nem rendelkezőkben). A konfigurációváltozások figyelésével kapcsolatos további információkért tekintse meg a konfigurációfrissítés ajánlott eljárásait.options := &azureappconfiguration.Options{ Selectors: []azureappconfiguration.Selector{ { KeyFilter: "Config.*", }, }, TrimKeyPrefixes: []string{"Config."}, RefreshOptions: azureappconfiguration.KeyValueRefreshOptions{ Enabled: true, }, }
Jótanács
A
Interval
tulajdonságot beállíthatjaRefreshOptions
-en, hogy meghatározza a konfigurációfrissítések közötti minimális időt. Ebben a példában az alapértelmezett 30 másodperces értéket használja. Ha csökkenteni szeretné az Alkalmazáskonfigurációs áruházba érkező kérések számát, módosítsa magasabb értékre.Nyissa meg a fájlt
unmarshal_sample.go
, és adja hozzá a következő kódot a fő függvényhez:// Existing code in unmarshal_sample.go // ... ... fmt.Printf("Timeout: %d seconds\n", config.App.Settings.Timeout) fmt.Printf("Retry Count: %d\n", config.App.Settings.RetryCount) // Register refresh callback to update and display the configuration provider.OnRefreshSuccess(func() { // Re-unmarshal the configuration err := appCfgProvider.Unmarshal(&updatedConfig, nil) if err != nil { log.Printf("Error unmarshalling updated configuration: %s", err) return } // Display the updated configuration displayConfig(config) }) // 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 } }
Az alkalmazás futtatása
Futtassa az alkalmazást:
go run unmarshal_sample.go
Tartsa az alkalmazást futva.
Lépjen az Alkalmazáskonfigurációs áruházba, és frissítse a
Config.Message
kulcs értékét.Kulcs Érték Tartalomtípus Config.Message Szia Világ - frissítve! Hagyja üresen Figyelje meg a konzolalkalmazást – 30 másodpercen belül észlelnie kell a módosítást, és meg kell jelenítenie a frissített konfigurációt.
Erőforrások tisztítása
Ha nem szeretné folytatni a cikkben létrehozott erőforrások használatát, törölje az itt létrehozott erőforráscsoportot a díjak elkerülése érdekében.
Fontos
Egy erőforráscsoport törlése visszafordíthatatlan. Az erőforráscsoport és a benne lévő összes erőforrás véglegesen törlődik. Győződjön meg arról, hogy nem véletlenül törli a rossz erőforráscsoportot vagy erőforrásokat. Ha a cikk erőforrásait olyan erőforráscsoporton belül hozta létre, amely más megtartani kívánt erőforrásokat tartalmaz, törölje az egyes erőforrásokat a megfelelő panelről az erőforráscsoport törlése helyett.
- Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
- A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
- Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
- Válassza az Erőforráscsoport törlése lehetőséget.
- A rendszer az erőforráscsoport törlésének megerősítését kéri. Adja meg a megerősítéshez az erőforráscsoport nevét, és válassza a Törlés lehetőséget.
Néhány pillanat múlva az erőforráscsoport és annak összes erőforrása törlődik.