spring - 如何从 Spring Boot 应用程序属性加载 AWS 区域特定属性?
问题描述
我的 java 微服务(在 Spring boot 中开发)从应用程序属性文件加载 S3 存储桶。4 个不同 AWS 区域的 S3 存储桶名称不同(bucker-east-1、bucker-west-2 等),因此如何从应用程序属性加载 AWS 区域特定的属性?例如,对于 us-west-2 区域,应加载 bucker-us-west-2 属性等。在 SPring 引导中是否存在对此类功能的支持?
解决方案
至少有几种方法可以处理这个问题。
可行的是,您可以将名称构造为 bucket.name=<bucket-prefix>-${AWS_REGION}
- 使用 Spring 配置文件。您可以为每个区域创建单独的属性文件。
例如,您有application-us_east_1.properties
, application-us_east_2.properties
。然后,您可以通过传入 JVM 参数在部署时添加适当的 spring 配置文件,-Dspring.profiles.active=us_east_1
以激活 us_east_1。或者,您可以类似地使用 SPRING_PROFILES_ACTIVE 环境变量。
推荐阅读
- javascript - Angular Split() 和 innerHTML
- arrays - 如何使用 Golang 在二维数组中输入?
- javascript - 如何使用javascript将表格中单元格的值设置为文本输入onclick的值?
- docker - 从 Docker Swarm 中其他节点上的服务访问容器
- python - 如何确保 Numeric flask wtforms SelectField 下拉列表中的选定数字多于另一个选择?
- python - 一张图,有两个不同的 y 轴
- javascript - Nest 无法解析对导出服务的依赖关系
- amazon-web-services - AWS Cognito Google 登录会覆盖用户池中的映射属性值
- security - GCP 和安全认证指南
- java - 将字符串与java中30k字符串的静态列表匹配