通过RESTAPI读取YAML配置

通过RESTAPI读取YAML配置,rest,yaml,remote-access,Rest,Yaml,Remote Access,我有一个非常复杂的系统,它使用多种语言和框架Java Python Scala Bash。在每个模块中,我需要检索相似且经常更改的配置值。目前,我正在维护多个conf文件,其中包含大量的副本。 我想知道是否有现成的RestAPI可以根据需要从远程位置检索变量 到目前为止,我所能找到的只是从远程源加载整个文件的方法,这是我的一半解决方案: YAML.parse(open('https://link_to_file/file.yaml')) 我的目标是直接打电话,但我找不到通向它的线索 MyRem

我有一个非常复杂的系统,它使用多种语言和框架Java Python Scala Bash。在每个模块中,我需要检索相似且经常更改的配置值。目前,我正在维护多个conf文件,其中包含大量的副本。 我想知道是否有现成的RestAPI可以根据需要从远程位置检索变量

到目前为止,我所能找到的只是从远程源加载整个文件的方法,这是我的一半解决方案:

YAML.parse(open('https://link_to_file/file.yaml'))
我的目标是直接打电话,但我找不到通向它的线索

MyRemoteAPI.get("level1.level2.x")
附言
YAML对我来说不是强制性的解决方案,我愿意听取建议。

我不知道开箱即用的API,但它的构建非常简单。创建一个将读取YAML文件并遍历到相应密钥的服务。e、 g.使用Ruby+Rails这样的动态语言,您可以执行以下操作

def value
  config = YAML.load_file '/local/path/to/config.yaml'
  render plain: config.dig(params[:key].split('.'))
end
dig基本上遍历一个结构,如果找不到键,则安全地返回nil,因此这将返回请求路径叶的值

您可能还希望将结构缓存在内存中,以防止不断读取文件,例如,可以执行类似于@config | |=YAML.parseopen的操作https://link_to_file/file.yaml'或config=Rails.cache.fetch'config',过期时间为:1.hour{…}。和/或缓存API的HTTP响应