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: bucket1AWS 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