AWSS3 バックエンド
Spring Cloud Config サーバーは、構成プロパティのバックエンドとして AWSS3 をサポートします。Amazon S3 用の AWSJava SDK に依存関係を追加することで、この機能を有効にできます。
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
</dependencies>
次の設定では、AWSS3 クライアントを使用して設定ファイルにアクセスします。spring.cloud.config.server.awss3.*
プロパティを使用して、構成が保存されているバケットを選択できます。
spring:
profiles:
active: awss3
cloud:
config:
server:
awss3:
region: us-east-1
bucket: bucket1
AWS URL を指定して、S3 サービスの標準エンドポイントを spring.cloud.config.server.awss3.endpoint
でオーバーライド [Amazon] することもできます。これにより、S3 のベータリージョンおよびその他の S3 互換ストレージ API のサポートが可能になります。
資格情報はデフォルトのクレデンシャルプロバイダーチェーン [Amazon] を使用して検出されます。バージョン管理および暗号化されたバケットは、追加の構成なしでサポートされます。
デフォルトでは、設定ファイルはバケット内に {application}-{profile}.properties
、{application}-{profile}.yml
、または {application}-{profile}.json
として保存されます。オプションでラベルを指定して、ファイルへのディレクトリパスを指定することもできます。
プロファイルが指定されていない場合、default が使用されます。 |
ディレクトリレイアウト
Spring Cloud Config サーバーは、Git バックエンドの search-paths: '{application}'
に類似したアプリごとのディレクトリレイアウトもサポートします。
これを有効にするには、次の例に示すように、useDirectoryLayout
プロパティを true
に設定します。
spring:
cloud:
config:
server:
awss3:
region: us-east-1
bucket: bucket1
useDirectoryLayout: true
上記のリストは、バケット内の /{application}
ディレクトリ(/{application}/application\{-profile}.yml
など)に保存されているオブジェクトに一致します。この場合、バケットの構造は次のようになります。
├── foo
│ ├── application-test.yml
│ └── application.yml
├── bar
│ ├── application-test.yml
│ └── application.yml