Перейти к содержимому

Облачное хранилище

S3-совместимое объектное хранилище с presigned URLs.

ТипОписание
config.awsУчётные данные и регион AWS
cloudstorage.s3Подключение к S3-бакету
- name: aws_config
kind: config.aws
region: "us-east-1"
access_key_id_env: "AWS_ACCESS_KEY_ID"
secret_access_key_env: "AWS_SECRET_ACCESS_KEY"
ПолеТипОбязательноОписание
regionstringУсловноРегион AWS. Обязателен, если не задан region_env
region_envstringУсловноИмя переменной окружения, содержащей регион
access_key_id_envstringНетПеременная окружения для access key
secret_access_key_envstringНетПеременная окружения для secret key

Учётные данные загружаются из указанных переменных окружения. Чтобы применить статические учётные данные, и access_key_id_env, и secret_access_key_env должны разрешаться в непустые значения; иначе используется стандартная цепочка учётных данных AWS SDK (IAM-роли, профили инстансов и т.д.).

Запросы подписываются AWS Signature Version 4 силами AWS SDK с использованием разрешённых учётных данных. Настройка подписи не требуется.

Используйте варианты _env (region_env, а также bucket_env/endpoint_env ниже), когда значение различается между развёртываниями. Имя переменной разрешается из реестра окружения при старте. Конфигурация AWS планируется для использования с другими сервисами AWS (SQS и др.) в будущих версиях.
- name: files
kind: cloudstorage.s3
bucket: "my-bucket"
config: app.infra:aws_config
ПолеТипОбязательноОписание
bucketstringУсловноИмя S3-бакета. Обязательно, если не задан bucket_env
bucket_envstringУсловноИмя переменной окружения, содержащей имя бакета
configreferenceДаСсылка на запись конфигурации AWS
endpointstringНетКастомный endpoint для S3-совместимых сервисов
endpoint_envstringНетИмя переменной окружения, содержащей кастомный endpoint

Для MinIO и других S3-совместимых сервисов укажите кастомный endpoint:

- name: local_storage
kind: cloudstorage.s3
bucket: "local-bucket"
config: app.infra:aws_config
endpoint: "http://localhost:9000"

При указании endpoint автоматически включается path-style доступ.

См. Модуль Cloud Storage для операций (list, upload, download, delete, presigned URLs).