S3 Upload

Сохраняет файлы из upload-коллекций Payload CMS в Amazon S3 вместо локальной файловой системы, включая оригинал и все варианты размеров изображений.

Сообщество 70 180/нед MIT v2.1.1

Установка

pnpm add payload-s3-upload

Описание

Плагин отправляет файлы, загруженные через upload-коллекции Payload CMS, в Amazon S3 вместо серверной файловой системы. Рассчитан на Payload 1.x и использует официальный клиент `@aws-sdk/client-s3` версии 3.x. При регистрации плагина в `payload.config.ts` вы передаёте готовый экземпляр `S3Client` или указываете `S3ClientConfig`, из которого плагин создаст клиент сам. Конфигурация задаётся для каждой upload-коллекции отдельно через блок `s3` внутри `upload`. В нём указываются целевой `bucket`, необязательный `prefix` (строка или функция, принимающая документ) и объект `commandInput`, свойства которого передаются в `PutObjectCommandInput`. Значения в `commandInput` могут быть функциями, вычисляемыми в момент загрузки, например для динамического задания ACL. Плагин добавляет хук `beforeChange`, который загружает оригинальный файл и все сгенерированные варианты размеров изображений в S3 через `PutObjectCommand`. Хук `afterDelete` удаляет те же объекты при удалении документа через `DeleteObjectCommand`. Перед валидацией коллекции в Payload блок `s3` удаляется из конфигурации, чтобы строгая проверка upload-настроек не отклонила его. Плагин не генерирует публичные URL. Формирование ссылок на файлы и их варианты остаётся за вами, например через хук `afterRead` или вычисляемое поле `url`.

О пакете

Имя пакета
payload-s3-upload
Последняя версия
2.1.1
Размер
21 кБ
Лицензия
MIT
Загрузок в неделю
180
Последняя публикация
16 мая 2023 г.