Облачное хранилище
S3-совместимое объектное хранилище с presigned URLs.
Типы записей
| Тип | Описание |
|---|---|
config.aws |
Учётные данные и регион AWS |
cloudstorage.s3 |
Подключение к S3-бакету |
Настройка AWS
- 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"
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
region |
string | Условно | Регион AWS. Обязателен, если не задан region_env |
region_env |
string | Условно | Имя переменной окружения, содержащей регион |
access_key_id_env |
string | Нет | Переменная окружения для access key |
secret_access_key_env |
string | Нет | Переменная окружения для 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 ниже), когда значение различается между развёртываниями. Имя переменной разрешается из реестра окружения при старте.
S3-хранилище
- name: files
kind: cloudstorage.s3
bucket: "my-bucket"
config: app.infra:aws_config
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
bucket |
string | Условно | Имя S3-бакета. Обязательно, если не задан bucket_env |
bucket_env |
string | Условно | Имя переменной окружения, содержащей имя бакета |
config |
reference | Да | Ссылка на запись конфигурации AWS |
endpoint |
string | Нет | Кастомный endpoint для S3-совместимых сервисов |
endpoint_env |
string | Нет | Имя переменной окружения, содержащей кастомный endpoint |
S3-совместимые сервисы
Для MinIO и других S3-совместимых сервисов укажите кастомный endpoint:
- name: local_storage
kind: cloudstorage.s3
bucket: "local-bucket"
config: app.infra:aws_config
endpoint: "http://localhost:9000"
При указании endpoint автоматически включается path-style доступ.
Lua API
См. Модуль Cloud Storage для операций (list, upload, download, delete, presigned URLs).
См. также
- Модуль Cloud Storage — справочник Lua API
- Файловая система — записи локальной файловой системы
- Очередь — обработчик SQS использует те же записи
config.aws