apollo 配置支持解析 yaml json 等
moonheart opened this issue · 2 comments
moonheart commented
apollo config.yaml 命名空间配置示例
a:
b:
c: 1
apollo 支持 yaml json 等格式的命名空间, 目前的做法是直接作为一个配置, 如 config.yaml
命名空间会被读取成 key 为
config.yaml.content
, value 为 yaml 内容的一个配置.
希望可以实现解析, 按照 a.b.c 这样的方式直接读取到配置内容
tianxiaoliang commented
用户故事是什么,为何会需要同时支持2者,目前是2种分别支持,但是不能同时支持
moonheart commented
你好, 可能我说的不太清楚, 不是同时支持两者, 是获取到的 apollo 配置没有进行解析, 还是原始的值.
apollo 配置, namespace: test, 类型: yml:
key1:
key2:
key3: 1
测试代码:
package main
import (
"fmt"
agollo "github.com/Shonminh/apollo-client"
"github.com/go-chassis/go-archaius"
"github.com/go-chassis/go-archaius/source/apollo"
)
func main() {
_ = archaius.Init(archaius.WithRemoteSource(archaius.ApolloSource, &archaius.RemoteInfo{
URL: "http://config.apollo.net",
DefaultDimension: map[string]string{
apollo.AppID: "appid",
apollo.NamespaceList: "test.yml",
},
}))
raw, _ := agollo.GetConfigByKey("test.yml.content")
fmt.Printf("%v:%v\n", "test.yml.content", raw)
// output:
// test.yml.content:key1:
// key2:
// key3: 1
v, _ := agollo.GetConfigByKey("key1.key2.key3")
fmt.Printf("%v:%v\n", "key1.key2.key3", v)
// output:
// key1.key2.key3:
}
代码中 agollo.GetConfigByKey("key1.key2.key3")
预期输出的值是 apollo 配置中的 1
, 结果是没有获取到.
代码中 agollo.GetConfigByKey("test.yml.content")
输出的值是原始的 yml 内容, 说明并没有对 yml 进行解析.