Go to file
Anatoly Karlov c863c6a346
JD-729: implement AWS SDK V2 client (#27)
add extracting filename logic, refactor
add configs for deploy local minio cluster
refactor, update tests
update readme
2021-10-19 11:26:33 +07:00
build_utils@29cb2775d0 bump deps (#22) 2021-03-05 20:00:22 +07:00
minio-local-cluster JD-729: implement AWS SDK V2 client (#27) 2021-10-19 11:26:33 +07:00
src JD-729: implement AWS SDK V2 client (#27) 2021-10-19 11:26:33 +07:00
.gitignore BJ-314: init 2018-11-23 15:23:28 +03:00
.gitmodules BJ-314: init 2018-11-23 15:23:28 +03:00
docker-compose-dev.yml refactor tests (#16) 2019-07-23 13:17:31 +03:00
Jenkinsfile Bump parent pom and build_utils (#21) 2020-07-29 10:56:58 +03:00
LICENSE Let's make it opensource 2019-09-20 00:02:58 +03:00
pom.xml JD-729: implement AWS SDK V2 client (#27) 2021-10-19 11:26:33 +07:00
README.md JD-729: implement AWS SDK V2 client (#27) 2021-10-19 11:26:33 +07:00

file-storage

Сервис, обращающийся напрямую к s3 через AWS JAVA SDK. Используется для генерации pre-signed URL that can be used to access an Amazon S3 resource without requiring the user of the URL to know the account's AWS security credentials.

Параметры запуска

Для работы с 1 версией AWS SDK S3

s3:
  endpoint: 'http://127.0.0.1:32827'
  bucket-name: 'files'
  signing-region: 'RU'
  client-protocol: 'http'
  client-max-error-retry: 10
  signer-override: 'S3SignerType'
  #  signer-override: 'AWSS3V4SignerType'
  access-key: 'test'
  secret-key: 'test'
s3-sdk-v2:
  enabled: 'false'

дефолтная версия сигнера — S3SignerType, для использования более актуальной версии указывается AWSS3V4SignerType

Для работы с 2 версией AWS SDK S3 V2

s3-sdk-v2:
  enabled: 'true'
  endpoint: 'http://127.0.0.1:9000'
  bucket-name: 'files-v2'
  region: 'RU'
  access-key: 'minio'
  secret-key: 'minio123'

Для работы сервиса может использоваться только одна из двух версий AWS SDK S3, переключение происходит параметром s3-sdk-v2.enabled=false

Minio

Если сервисом используется 2 версия AWS SDK S3 V2, и в качестве s3 кластера используется minio, то для поддержки версионирования объектов кластер должен использовать минимум несколько драйверов при старте для включения механизма Erasure Code

Для включения механизма Erasure Code запуск сервера minio с использованием нескольких драйверов может выглядеть следующим образом

minio server /data{1...12}

Цитата из официальной документации

Versioning feature is only available in erasure coded and distributed erasure coded setups.

Источники

В репозитории в папке minio-local-cluster содержатся примеры docker-compose манифестов (спизж**ных из официальной репы https://github.com/minio/minio/tree/master/docs/orchestration/docker-compose) для локального запуска сервера minio с включенным механизмом Erasure Code