Страницы

2 августа 2016 г.

Amazon S3 java sdk. Подключаемся локально к minio.

https://minio.io/ - это локальный аналог amazon s3.
Все инструкции по его использованию есть на сайте.

Мы имеем amazon s3 java sdk, и хотим применить его локально, без подключения к amazon.

Разворачиваем minio

Я делал так как описано здесь:
https://docs.minio.io/docs/minio-docker-quickstart-guide

После того как minio запущен нас интересует четыре параметра:

Endpoint:  http://172.17.0.2:9000  http://127.0.0.1:9000
AccessKey: GEUV76CPZT9W6LHD27WV
SecretKey: LFtXnspXOcUgZXbgxMb+OfjqedhXMa06zQ4xMQRT
Region:    us-east-1

Именно они понадобятся для создания соединения.

Подключение


public class AmazonS3ClientFactoryImpl implements AmazonS3ClientFactory {
    private static final String AMAZON_ACCESS_KEY = "GEUV76CPZT9W6LHD27WV";
    private static final String AMAZON_SECRET_KEY = "LFtXnspXOcUgZXbgxMb+OfjqedhXMa06zQ4xMQRT";
    public static final String REPOSITORY_ENDPOINT = "http://localhost:9000";

    public AmazonS3 getAmazonS3Client(){
        AWSCredentials credentials = new BasicAWSCredentials(AMAZON_ACCESS_KEY, AMAZON_SECRET_KEY);
        ClientConfiguration clientConfiguration = new ClientConfiguration();

        AmazonS3 amazonS3Client = new AmazonS3Client(credentials, clientConfiguration);
        Region usWest2 = Region.getRegion(Regions.US_EAST_1);
        amazonS3Client.setRegion(usWest2);
        amazonS3Client.setEndpoint(REPOSITORY_ENDPOINT);
        amazonS3Client.setS3ClientOptions(new S3ClientOptions().withPathStyleAccess(true).disableChunkedEncoding());

        return amazonS3Client;
    }
}

Комментариев нет:

Отправить комментарий