Как инициализировать AWS SDK в приложении весенней загрузки? - PullRequest
0 голосов
/ 19 сентября 2018

Я пишу приложение весенней загрузки, которое читает сообщения из SQS.Я могу запустить приложение, используя переменные окружения AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.Однако мне было интересно, что будет проще передать эту конфигурацию через файл, похожий на application.properties.Как этого добиться?

Ответы [ 4 ]

0 голосов
/ 11 мая 2019

Изменение для AWS SDK 2.0 выглядит следующим образом ..

    AwsBasicCredentials awsCreds = AwsBasicCredentials.create(this.accessKey, this.secretKey);

    S3Client client = S3Client.builder().region(Region.AP_SOUTH_1)
            .credentialsProvider(StaticCredentialsProvider.create(awsCreds))
            .build();
0 голосов
/ 28 ноября 2018

В весеннем загрузочном приложении вы можете получить доступ к свойствам, указанным в файле application.yml, с аннотацией @value.Вы можете создать сервис, подобный этому:

@Service
public class AmazonClient {  
    private AmazonSQS sqsClient;

    @Value("${amazonProperties.accessKey}")
    private String accessKey;
    @Value("${amazonProperties.secretKey}")
    private String secretKey;

    @PostConstruct
    private void initializeAmazon() {
        BasicAWSCredentials awsCredentials = new BasicAWSCredentials(this.accessKey, this.secretKey);
        this.sqsClient = AmazonSQSClientBuilder
                .standard()
                .withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
                .build();

    }
}

В application.yml файле:

amazonProperties:
   accessKey: <your_access_key>
   secretKey: <your_secret_key>
0 голосов
/ 28 ноября 2018

Если вы используете Spring Cloud AWS с весенней загрузкой, некоторые клиенты AWS (например, SQS и SNS) и метаданные EC2 могут быть настроены для вас с помощью автоматической настройки.Для локального тестирования вы можете использовать статические поставщики, установленные через свойства приложения.

Документация: https://cloud.spring.io/spring-cloud-static/spring-cloud-aws/2.0.1.RELEASE/single/spring-cloud-aws.html#_spring_boot_auto_configuration

В частности, вы можете установить такие свойства, как cloud.aws.credentials.accessKey и cloud.aws.region.static.

0 голосов
/ 20 сентября 2018

Вы можете управлять им несколькими способами.

  1. Вы можете настроить aws configure (на вашем локальном компьютере или компьютере с Linux), для которого потребуется ваш секретный ключ и ключ доступа, а затем вывам не нужно передавать их в API по умолчанию, вы можете создать соединение, так как оно выберет секретный кет и т. д. из системного пути.

    AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();
    

Как настроить aws cli

Если вы используете AWS EC2, то при создании экземпляра ec2 обязательно назначьте ему роль, которая имеет разрешение для SQS, тогда вам даже не нужно настраивать эту машину.

Вы можете определить свой КЛЮЧ ДОСТУПА и СЕКРЕТНЫЙ КЛЮЧ в application/properties и загрузить в классе sqs на @Value.

Вы можете создать aws.keys в своем classpath иможно загружать свойства из файла.

Конечно, вы можете определить их как постоянные в вашем Constant class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...