【问题标题】:Can I get single property values from Spring Cloud Config Server?我可以从 Spring Cloud Config Server 获取单个属性值吗?
【发布时间】:2018-02-09 14:20:36
【问题描述】:

我想通过 wget/curl 从命令行调用从 Spring Cloud Config Server 获取 单个属性值

单个值,因为否则我必须将它们从响应中解析出来,并且我想使 bash 脚本尽可能简单

Spring Cloud Config Server 的文档说明了 REST API 的可能性如下

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

是否有任何获取单个值的技巧?我搜索了很多,但一无所获。看起来并不是一个巨大的需求。

或者我可以扩展配置服务器的 EnvironmentController 来实现这个功能吗?我没有找到任何关于扩展配置服务器的 REST API 的资源。

感谢您的帮助

【问题讨论】:

  • 为什么不 grep 获取您需要的属性?
  • 使脚本尽可能简单。与其在许多脚本中寻找值,不如在配置服务器上解决一次问题。

标签: spring-cloud-config


【解决方案1】:

只是给@burki的回答举个例子,你可以放一个名为foo-details.json的文件,内容可以是这样的:

{
    "my-custom-key": "${some.value.from.another.upstream.config:default-value}"
}

当您从配置服务器获取该文件时,它将具有替换值:

https://config.your-company.com/foo-app/some-profile/some-branch-name/foo-details.json

【讨论】:

    【解决方案2】:

    回答我自己的问题:Spring Config Server 有某种模板机制。有了它,您基本上可以提供任何您想要的服务

    在文档中这不是很明显,因为它被称为Serving Plain Texthttp://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.3.4.RELEASE/single/spring-cloud-config.html#_serving_plain_text

    即使是文档中的示例也不是提供纯文本,而是提供结构化的配置格式。

    【讨论】:

    • 一个与此相关的示例将有很长的路要走...阅读此内容后,我仍然不知道如何从 CC 中提取特定属性
    • @jason 这有点神秘,但很简单,就像向:/app/profile/label/filename 发出请求一样简单:curl localhost:8888/foo/default/master/nginx.conf
    猜你喜欢
    • 2015-08-28
    • 2015-06-18
    • 1970-01-01
    • 2021-03-22
    • 2021-03-01
    • 2019-03-02
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    相关资源
    最近更新 更多