Amazon s3 在S3中配置Spring引导-AWS beanstalk
我有一个在AWS beanstalk中运行的Astring引导应用程序。它当前从Amazon s3 在S3中配置Spring引导-AWS beanstalk,amazon-s3,spring-boot,configuration,amazon-elastic-beanstalk,Amazon S3,Spring Boot,Configuration,Amazon Elastic Beanstalk,我有一个在AWS beanstalk中运行的Astring引导应用程序。它当前从src/main/resources/application.properties文件读取属性。我想通过在S3中以文件形式提供属性来覆盖这些配置。因此,我在S3中创建了一个文件,位于S3://my bucket/some\u dir/application.properties。在beanstalk应用程序中,我在软件配置中提供了以下设置 spring.config.location带值s3://my bucket/
src/main/resources/application.properties
文件读取属性。我想通过在S3
中以文件形式提供属性来覆盖这些配置。因此,我在S3
中创建了一个文件,位于S3://my bucket/some\u dir/application.properties
。在beanstalk应用程序中,我在软件配置中提供了以下设置
spring.config.location
带值s3://my bucket/some\u dir/application.properties
重新启动应用程序,但我仍然看到旧值。我遵循了文件
我做错了什么?那根本不行。Spring不仅仅理解s3://URL。为应用程序创建启动脚本,首先下载文件,然后使用
--spring.config.locations
将其传递给应用程序 正如@Strelok所指出的,这种方法行不通。我也许可以将脚本添加到.ebextensions
,从S3下载文件,然后读取,但这需要在每次更新配置时重新部署jar。这不是我的应用程序的用例。相反,我现在读取应用程序中方法中的S3文件并加载属性。这样,我可以在应用程序运行时调用该方法并重新加载配置。