嗨,
我在配置 spring-boot 3.0 应用程序的 spring boot 参数存储时遇到问题。
我添加了以下依赖项
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter</artifactId>
<version>3.0.0-M3</version>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter-parameter-store</artifactId>
<version>3.0.0-M3</version>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter</artifactId>
<version>3.0.0-M3</version>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-autoconfigure</artifactId>
<version>3.0.0-M3</version>
</dependency>
还有我的应用程序属性:
spring.config.import=aws-parameterstore:/config/app
spring.cloud.aws.parameterstore.region=eu-west-1
但是我仍然遇到错误:
Description:
Config data resource '[ParameterStoreConfigDataResource@198c7a4b context = '/config/app', optional = false]' via location 'aws-parameterstore:/config/app' does not exist
Action:
Check that the value 'aws-parameterstore:/config/app' is correct, or prefix it with 'optional:'
我是否缺少任何依赖项或附加配置?
我遇到了同样的问题,并通过添加以下依赖项使其工作:
implementation("org.springframework.cloud:spring-cloud-starter-bootstrap:4.0.1")
<project>
<properties>
<java.version>17</java.version>
<spring-cloud.version>2023.0.0</spring-cloud.version>
<spring-cloud-aws.version>3.1.1</spring-cloud-aws.version>
</properties>
<dependencies>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter</artifactId>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter-parameter-store</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-dependencies</artifactId>
<version>${spring-cloud-aws.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
# -----------------------
# Application.properties
# -----------------------
spring.application.name=secret-manager
server.port=8080
spring.cloud.aws.credentials.access-key=${SPRING_CLOUD_AWS_CREDENTIALS_ACCESS-KEY}
spring.cloud.aws.credentials.secret-key=${SPRING_CLOUD_AWS_CREDENTIALS_SECRET-KEY}
spring.cloud.aws.region.static=sa-east-1
spring.cloud.aws.parameterstore.enabled=true
spring.cloud.aws.parameterstore.region=us-east-1
spring.config.import[0]=aws-parameterstore:/aplicacao/profile/?prefix=parameter-store:
# -----------------------
# Classe que acessa o parametro
# -----------------------
@RestController
@RequestMapping("/")
public class ParameterStoreController {
// parametroStr é o nome do parâmetro que você criou lá na aws
@Value("${parameter-store:parametroStr}")
private String parameterStore;
@GetMapping("/parameterStoreConfiguration")
public String configuration() {
return parameterStore;
}
}