looking for a sample code to read parameter value from aws parameter store

Viewed 9827

looking for a sample java code to read parameter store values like RDS connection string from aws parameter store. appreicate code or any reference links. thanks.

3 Answers

Here is the V2 (not V1) example to read a specific parameter value from the AWS parameter store:

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.ssm.SsmClient;
import software.amazon.awssdk.services.ssm.model.GetParameterRequest;
import software.amazon.awssdk.services.ssm.model.GetParameterResponse;
import software.amazon.awssdk.services.ssm.model.SsmException;

public class GetParameter {

    public static void main(String[] args) {

        final String USAGE = "\n" +
                "Usage:\n" +
                "    GetParameter <paraName>\n\n" +
                "Where:\n" +
                "    paraName - the name of the parameter\n";

        if (args.length < 1) {
            System.out.println(USAGE);
            System.exit(1);
         }

        // Get args
        String paraName = args[0];

        Region region = Region.US_EAST_1;
        SsmClient ssmClient = SsmClient.builder()
                .region(region)
                .build();

        try {
            GetParameterRequest parameterRequest = GetParameterRequest.builder()
                .name(paraName)
                .build();

            GetParameterResponse parameterResponse = ssmClient.getParameter(parameterRequest);
            System.out.println("The parameter value is "+parameterResponse.parameter().value());

        } catch (SsmException e) {
        System.err.println(e.getMessage());
        System.exit(1);
        }
   }
}
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder;
import com.amazonaws.services.simplesystemsmanagement.model.GetParametersRequest;
import com.amazonaws.services.simplesystemsmanagement.model.GetParametersResult;

...

private static AWSSimpleSystemsManagement ssmclient = AWSSimpleSystemsManagementClientBuilder
            .standard().withRegion(System.getProperty("SystemsManagerRegion")).build();

...

GetParametersRequest paramRequest = new GetParametersRequest()
                .withNames(parameterName).withWithDecryption(encrypted);
        GetParametersResult paramResult = new GetParametersResult();
        paramResult = ssmclient.getParameters(paramRequest);

I think GitHub may be of help. I searched for SsmClient getParameter language:java and some of the results seem promising.

This one for example:

    public static String getDiscordToken(SsmClient ssmClient) {
        GetParameterRequest request = GetParameterRequest.builder().
                name("/discord/token").
                withDecryption(Boolean.TRUE).
                build();
        GetParameterResponse response = ssmClient.getParameter(request);
        return response.parameter().value();
    }
Related