2021-04-29 22:01:07 +08:00
|
|
|
# nacos-viper-remote
|
|
|
|
|
|
|
|
Golang configuration,use to Viper reading from remote Nacos config systems. Viper remote for Naocs.
|
2021-04-29 22:07:32 +08:00
|
|
|
|
|
|
|
```go
|
2021-04-29 22:09:10 +08:00
|
|
|
runtime_viper := viper.New()
|
2021-04-29 22:07:32 +08:00
|
|
|
|
2021-04-29 22:09:10 +08:00
|
|
|
remote.SetOptions(&remote.Option{
|
|
|
|
Url: "localhost",
|
|
|
|
Port: 80,
|
|
|
|
NamespaceId: "public",
|
|
|
|
GroupName: "DEFAULT_GROUP",
|
|
|
|
Config: remote.Config{ DataId: "config_dev" },
|
|
|
|
Auth: nil,
|
|
|
|
})
|
2021-04-29 22:07:32 +08:00
|
|
|
|
2021-04-29 22:09:10 +08:00
|
|
|
err := remote_viper.AddRemoteProvider("nacos", "localhost", "")
|
|
|
|
remote_viper.SetConfigType("yaml")
|
2021-04-29 22:07:32 +08:00
|
|
|
|
2021-04-29 22:09:10 +08:00
|
|
|
_ = remote_viper.ReadRemoteConfig() //sync get remote configs to remote_viper instance memory . for example , remote_viper.GetString(key)
|
|
|
|
_ = remote_viper.WatchRemoteConfigOnChannel() //async watch , auto refresh configs.
|
2021-04-29 22:07:32 +08:00
|
|
|
|
2021-04-29 22:09:10 +08:00
|
|
|
appName := remote_viper.GetString("key") // sync get config by key
|
2021-04-29 22:07:32 +08:00
|
|
|
|
2021-04-29 22:09:10 +08:00
|
|
|
fmt.Println(appName)
|
2021-04-29 22:07:32 +08:00
|
|
|
```
|