AWS Parameter Store Backend

Spring Cloud Config Server 支持 AWS Parameter Store 作为配置属性的后端。您可以通过将依赖项添加到 AWS Java SDK for SSM来启用此功能。

pom.xml
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>ssm</artifactId>
</dependency>

以下配置使用 AWS SSM 客户端来访问参数。

spring:
  profiles:
    active: awsparamstore
  cloud:
    config:
      server:
        awsparamstore:
          region: eu-west-2
          endpoint: https://ssm.eu-west-2.amazonaws.com
          origin: aws:parameter:
          prefix: /config/service
          profile-separator: _
          recursive: true
          decrypt-values: true
          max-results: 5

下表描述了 AWS Parameter Store 配置属性。

Table 1. AWS Parameter Store Configuration Properties
Property Name Required Default Value Remarks

region

no

AWS 参数存储客户端应使用的区域。如果没有明确设置,SDK 会尝试使用 Default Region Provider Chain 确定要使用的区域。

endpoint

no

AWS SSM 客户端的入口点的 URL。这可用于为 API 请求指定备用端点。

origin

no

aws:ssm:parameter:

添加到属性源名称的前缀,用于显示其来源。

prefix

no

/config

前缀表示从 AWS Parameter Store 加载的每个属性的参数层次结构中 L1 级。

profile-separator

no

-

将附加的配置文件与上下文名称分隔开的字符串。

recursive

no

true

用于指示检索层次结构内的所有 AWS 参数的标志。

decrypt-values

no

true

用于指示检索所有 AWS 参数及其值解密的标志。

max-results

no

10

对 AWS 参数存储 API 调用返回的最大项数。

AWS Parameter Store API 凭据使用 Default Credential Provider Chain来确定。版本化参数已经受默认返回最新版本的行为支持。

  • 当未指定任何应用程序时,默认使用 application,并且当未指定任何配置文件时,使用 default

  • awsparamstore.prefix 的有效值必须以正斜杠开头,后跟一个或多个有效路径段或为空。

  • awsparamstore.profile-separator 的有效值只能包含点、破折号和下划线。

  • awsparamstore.max-results 的有效值必须在 [1, 10] 范围内。