我可以从 Spring 云配置服务器获取单个 属性 值吗?
Can I get single property values from Spring Cloud Config Server?
我想从 Spring 云配置服务器获取 单个 属性 值,调用来自 wget/curl命令行。
单个值,否则我必须将它们从响应中解析出来,我想使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 的资源。
感谢您的帮助
回答我自己的问题:Spring Config Server 有某种模板机制。有了这个,您可以基本上可以随心所欲地提供服务。
在文档中这不是很明显,因为它被称为 Serving Plain Text
:
http://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.3.4.RELEASE/single/spring-cloud-config.html#_serving_plain_text
甚至文档中的示例也不是提供纯文本,而是结构化配置格式。
只是给@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
我想从 Spring 云配置服务器获取 单个 属性 值,调用来自 wget/curl命令行。
单个值,否则我必须将它们从响应中解析出来,我想使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 的资源。
感谢您的帮助
回答我自己的问题:Spring Config Server 有某种模板机制。有了这个,您可以基本上可以随心所欲地提供服务。
在文档中这不是很明显,因为它被称为 Serving Plain Text
:
http://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.3.4.RELEASE/single/spring-cloud-config.html#_serving_plain_text
甚至文档中的示例也不是提供纯文本,而是结构化配置格式。
只是给@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