Безопасно ли кэшировать клиент AmazonS3 для последующего использования? - PullRequest
1 голос
/ 01 апреля 2019

Я пишу программу на Java для загрузки файлов в AWS S3, и мне удалось получить клиент S3, используя следующий код:

BasicAWSCredentials awsCreds = new BasicAWSCredentials("aaa", "bbb");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
    .withRegion(Regions.fromName("ccc"))
    .withCredentials(new AWSStaticCredentialsProvider(awsCreds)).build();

Поскольку я считаю, что каждый раз это занимает довольно много секундчтобы настроить клиент S3, мне интересно, возможно ли кэширование клиента для повторного использования.

Кроме того, если я кеширую клиента в течение года, будет ли клиент по-прежнему действительным для подключения к AWS?

1 Ответ

1 голос
/ 01 апреля 2019

Ваш клиент будет работать до тех пор, пока учетные данные действительны. Он будет работать в течение года, если ваши учетные данные не будут изменены или обновлены.

По сути, когда вы создаете клиент, вы не конвертируете исходные учетные данные в какую-либо форму, все будет ссылаться позже, когда это необходимо для выполнения фактической операции.

Ваш клиент больше не будет работать после обновления учетных данных после создания объекта.

Если вы хотите инициализировать один раз и использовать его позже в течение года. Да, это будет работать . С использованием лучших методов обеспечения безопасности нецелесообразно сохранять учетные данные в течение более длительного периода времени.

Подробнее о полномочиях:

https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/credentials.html

Надеюсь, это поможет.

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