Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Amazon AppConfig from Spring Boot

How can I access configurations from aws appconfig, in my spring boot application?

Since appconfig is a new service, is there any java sdk that we can use, cos i dont see anything for appconfig yet in https://github.com/aws/aws-sdk-java/tree/master/src/samples

like image 953
VIJ Avatar asked May 27 '26 01:05

VIJ


1 Answers

2023, use aws-java-sdk-appconfigdata

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-appconfigdata</artifactId>
    <version>1.12.394</version>
</dependency>

example:

@Slf4j
@Configuration
@EnableScheduling
public class AWSAppConfig {

    private String token;
    private final AWSAppConfigData client;

    public AWSAppConfig() {
        log.info("init app config");
        var client = AWSAppConfigDataClient.builder().build();
        var request = new StartConfigurationSessionRequest();
        request.setEnvironmentIdentifier("prod");
        request.setApplicationIdentifier("my-app");
        request.setConfigurationProfileIdentifier("my-config");
        request.setRequiredMinimumPollIntervalInSeconds(15);
        var result = client.startConfigurationSession(request);
        this.client = client;
        this.token = result.getInitialConfigurationToken();
    }

    @Scheduled(fixedRate = 20000)
    public void pollConfiguration() {
        var request = new GetLatestConfigurationRequest();
        request.setConfigurationToken(token);
        var result = client.getLatestConfiguration(request);
        this.token = result.getNextPollConfigurationToken();
        var configuration = StandardCharsets.UTF_8.decode(result.getConfiguration()).toString();
        log.info("content type: {}", result.getContentType());
        log.info("configuration: {}", configuration);
    }
}

like image 200
hdsuperman Avatar answered May 28 '26 13:05

hdsuperman



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!