Comments (8)
from agollo.
你这个用的是properties格式的配置文件吧,properties本身只是key:value没有数组类型
数组这种定义属于自定义的去解析的.
from agollo.
我之前去处理这个问题是再封装了一个读取配置的库。可以的话最好是换个配置文件格式。
var i int
var arr []string
for {
key := fmt.Sprintf("case[%d]", i)
if viper.IsSet(key) {
value := viper.Get(key)
arr = append(arr, value)
i++
continue
}
break
}
老铁,如果有帮到你记得star
from agollo.
apollo的web界面支持直接导入yaml格式的文件吗,本来是配置文件是yml格式的,导成了prop格式的贴到apollo里的
from agollo.
另外,使用viper的时候,有没有类似于注册一个回调,只要配置有更新就会调用我注册的回调的机制。看例程中有忙轮询和监听两种。监听的那种也是要死循环去不断重新获取的,有没有类似主动通知的那种。不管能不能帮上,start没毛病
from agollo.
apollo的web界面支持直接导入yaml格式的文件吗,本来是配置文件是yml格式的,导成了prop格式的贴到apollo里的
支持的只是apollo这个ui做的比较傻,藏的比较深
namespace如果是public的在界面点public就好来,创建出来就是public的yml/yaml格式的
更便捷的方式你可以用我封装的apollo openapi的sdk去同步配置,而不是手动去copy啥的
之前我们的配置是存在consul后来迁移到了apollo,手动迁移一堆配置又累又不靠谱
https://github.com/shima-park/apollo-openapi
from agollo.
另外,使用viper的时候,有没有类似于注册一个回调,只要配置有更新就会调用我注册的回调的机制。看例程中有忙轮询和监听两种。监听的那种也是要死循环去不断重新获取的,有没有类似主动通知的那种。不管能不能帮上,start没毛病
viper本身没有提供事件回调的方法,它属于一种比较上层的封装了,你如果要这个特性的话,可能要fork它做一些功能改造。增加注册Hook方法,在watchKeyValueConfigOnChannel加上调用Hook。
https://github.com/spf13/viper/blob/v1.7.0/viper.go#L1772
getKeyValueConfig读取一次远程配置更新本地维护的kvstore这个map
https://github.com/spf13/viper/blob/v1.7.0/viper.go#L1798
watchKeyValueConfigOnChannel 它这个内部开了goroutine消费更新事件,更新本地维护的kvstore,不再向外传递事件
from agollo.
感谢帮助
from agollo.
Related Issues (20)
- start、watch 无法监听配置 HOT 5
- agollo v1.2.8, 启用从备份文件加载时, 在调用GetNameSpace(key)正常时, 会将备份文件的其他namespace的数据删除 HOT 1
- 能否为ApolloClient提供自定义签名入口 HOT 8
- 我不想要备份文件, 可以去掉么, 它无论如何都会创建一个备份文件我关不掉 HOT 6
- go mod tidy 报错 HOT 4
- 此客户端是如何支持多环境配置的? HOT 1
- can't get value by Env? HOT 2
- 没有贡献值不开心啊 HOT 4
- apollo中使用yaml格式的配置文件,viper读取为空 HOT 3
- 与viper 一起用时候怎么切换或者说选择apollo的cluster呢 HOT 4
- 为什么app.properties文件下储存的是json格式而不是property格式? HOT 1
- 为什么除了properties类型的数据能拉到,其他Json,Yaml的都拉不出来呢? HOT 1
- 用golang 1.18构建后拉不到配置,1.17正常。 HOT 5
- 可否加一个关闭备份选项
- 使用viper时,是否能暴露一个配置变更的方法 HOT 2
- agollo.Start()和viper同用时,配置变更后的读取操作会存在并发问题 HOT 1
- viper说明文档 好像不全 HOT 1
- viper 支持 secretKey HOT 1
- 签名计算bug HOT 3
- 启动后提示函数time.UnixMilli()错误
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agollo.