适用于 Java Spring Boot 3.0 的 AWS 参数存储

问题描述 投票:0回答:2

嗨,

我在配置 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:'

我是否缺少任何依赖项或附加配置?

java spring amazon-web-services spring-boot aws-parameter-store
2个回答
0
投票

我遇到了同样的问题,并通过添加以下依赖项使其工作:

implementation("org.springframework.cloud:spring-cloud-starter-bootstrap:4.0.1")

0
投票
<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;

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.