|
此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring Cloud Config 5.0.1! |
提供纯文本
与其使用 Environment 抽象(或其在 YAML 或属性格式中的其他替代表示形式),您的应用程序可能需要针对其环境量身定制的通用纯文本配置文件。Config Server 通过一个额外的端点 /{application}/{profile}/{label}/{path} 提供这些文件,其中 application、profile 和 label 的含义与常规环境端点相同,但 path 是指向文件名的路径(例如 log.xml)。该端点的源文件位置方式与环境端点相同。属性文件和 YAML 文件采用相同的搜索路径。然而,与聚合所有匹配资源不同,此处仅返回第一个匹配的资源。
资源定位后,常规格式(${…})中的占位符将通过所使用的应用名称、配置文件和标签的有效值进行解析。
以此方式,资源端点与环境端点紧密集成。
与环境配置的源文件一样,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 的工作方式略有不同。以下各节将分别说明每种方式的工作原理: