提供纯文本服务
与使用 Environment
抽象(或以 YAML 或 properties 格式表示的替代形式)不同,你的应用程序可能需要针对其环境定制的通用纯文本配置文件。Config Server 通过一个额外的端点 /{application}/{profile}/{label}/{path}
提供这些文件,其中 application
、profile
和 label
的含义与常规环境端点相同,但 path
是文件名的路径(例如 log.xml
)。该端点的源文件与环境端点的定位方式相同。相同的搜索路径适用于 properties 和 YAML 文件。然而,与聚合所有匹配的资源不同,仅返回第一个匹配的资源。
在定位到资源后,普通格式的占位符(${…}
)会通过使用针对提供的应用程序名称、配置文件和标签的有效 Environment
来解析。通过这种方式,资源端点与环境端点紧密集成。
与环境配置的源文件一样,profile
用于解析文件名。因此,如果你想要一个特定于 profile 的文件,/*/development/*/logback.xml
可以通过一个名为 logback-development.xml
的文件来解析(优先于 logback.xml
)。
如果您不想提供 label
并让服务器使用默认标签,您可以提供一个 useDefaultLabel
请求参数。因此,前面针对 default
配置文件的示例可以改为 /sample/default/nginx.conf?useDefaultLabel
。
目前,Spring Cloud Config 可以为 git、SVN、本地后端和 AWS S3 提供纯文本服务。对 git、SVN 和本地后端的支持是相同的。AWS S3 的工作方式略有不同。以下部分展示了每种方式的工作原理: