【问题标题】:Spring boot configs in S3 - AWS beanstalkS3 中的 Spring Boot 配置 - AWS beanstalk
【发布时间】:2017-07-03 12:07:45
【问题描述】:

我有一个在 AWS beanstalk 中运行的spring boot 应用程序。它当前从src/main/resources/application.properties 文件中读取属性。我想通过在S3 中将属性作为文件提供来覆盖这些配置。所以我在S3s3://my-bucket/some_dir/application.properties 创建了一个文件。在 beanstalk 应用程序中,我在 Software Configuration 中提供了以下设置。

spring.config.location 的值为 s3://my-bucket/some_dir/application.properties

重新启动应用程序,但我仍然看到旧值。我遵循了文档here

我做错了什么?

【问题讨论】:

  • 正如@Strelok 所指出的,这种方法行不通。我也许可以将脚本添加到.ebextensions 以从 S3 下载文件然后读取它,但是每次我想更新配置时都需要重新部署 jar。这不是我的应用程序的用例。相反,我现在正在应用程序的方法中读取 S3 文件并加载属性。这样,我可以在应用程序运行时调用该方法并重新加载配置。

标签: amazon-s3 spring-boot configuration amazon-elastic-beanstalk


【解决方案1】:

那是行不通的。 Spring 不仅仅理解 s3:// URL。为您的应用程序创建一个启动脚本,该脚本首先下载文件,然后使用--spring.config.locations 将其传递给您的应用程序。

【讨论】:

    猜你喜欢
    • 2016-07-01
    • 2020-06-08
    • 1970-01-01
    • 2018-05-17
    • 2018-11-05
    • 2018-05-26
    • 2020-12-15
    • 2023-03-14
    • 2017-11-20
    相关资源
    最近更新 更多