Хранилище файлов: S3 (Pro)
Хранилище файлов: S3 (Pro)Professional Edition+Введение
На основе плагина для управления файлами добавлена поддержка типов файловых хранилищ, совместимых с протоколом S3. Любой сервис объектного хранения, поддерживающий протокол S3, например Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, MinIO, Cloudflare R2 и другие, может быть легко интегрирован, что повышает совместимость и гибкость служб хранения.
Особенности
-
Загрузка с клиента: Файлы загружаются непосредственно в службу хранения, минуя сервер NocoBase, что обеспечивает более эффективную и быструю загрузку.
-
Приватный доступ: Все URL-адреса файлов являются подписанными временными авторизац ионными ссылками, что гарантирует безопасность и ограниченность доступа к файлам по времени.
Сценарии использования
-
Управление таблицами файлов: Централизованное управление и хранение всех загруженных файлов с поддержкой различных типов файлов и методов хранения для удобной классификации и поиска.
-
Хранение вложений в полях: Хранение вложений, загруженных через формы или записи, с возможностью их привязки к конкретным записям данных.
Настройка плагина
-
Включите плагин
plugin-file-storage-s3-pro. -
Перейдите в "Setting -> FileManager", чтобы открыть настройки управления файлами.
-
Нажмите кнопку "Add new" и выберите "S3 Pro".

- В появившемся окне вы увидите подробную форму для заполнения. Обратитесь к дальнейшей документации, чтобы получить соответствующие параметры для в ашей файловой службы и правильно ввести их в форму.

Настройка поставщика услуг
Amazon S3
Создание бакета
-
Перейдите в консоль Amazon S3.
-
Нажмите кнопку "Create bucket" справа.

- Заполните поле
Bucket Name(имя бакета), остальные поля оставьте по умолчанию, прокрутите страницу вниз и нажмите кнопку "Create", чтобы завершить процесс.


Настройка CORS
- В списке бакетов найдите и нажмите на только что созданный бакет, чтобы перейти к его подро бным сведениям.

- Перейдите на вкладку "Permission" и прокрутите вниз до раздела настройки CORS.


- Введите следующую конфигурацию (при необходимости настройте ее) и сохраните.

Получение AccessKey и SecretAccessKey
- Нажмите кнопку "Security credentials" в правом верхнем углу страницы.

- Прокрутите вниз до раздела "Access Keys" и нажмите кнопку "Create Access Key".

- Согласитесь с условиями (для демонстрации используется основ ная учетная запись; в производственной среде рекомендуется использовать IAM).

- Сохраните отображаемые Access Key и Secret Access Key.

Получение и настройка параметров
-
AccessKey ID и AccessKey Secret — это значения, полученные вами на предыдущем шаге. Введите их точно.
-
Перейдите на панель свойств страницы сведений о бакете, где вы сможете получить информацию об имени бакета (
Bucket Name) и регионе (Region).

Публичный доступ (необязательно)
Это необязательная настройка. Выполните ее, если вам нужно сделать загруженные файлы полностью общедоступными.
- На панели "Permissions" прокрутите до "Object Ownership", нажмите "Edit" и включите ACLs.

- Прокрутите до "Block public access", нажмите "Edit" и установите разрешение на управление ACL.

- В NocoBase установите флажок "Public access".
Настройка миниатюр (необязательно)
Эта настройка является необязательной и используется, когда вам необходимо оптимизировать размер или эффект предварительного просмотра изображений. Обратите внимание, что это развертывание может повлечь за собой дополнительные расходы. Для получения более подробной информации ознакомьтесь с соответствующими условиями и ценами AWS.
-
Посетите страницу Dynamic Image Transformation for Amazon CloudFront.
-
Нажмите кнопку
Launch in the AWS Consoleв нижней части страницы, чтобы начать развертывание.

- Следуйте подсказкам для завершения настройки. Особое внимание уделите следующим опциям:
- При создании стека вам потребуется указать имя бакета Amazon S3, содержащего исходные изображения. Пожалуйста, введите имя бакета, которое вы создали ранее.
- Если вы выбрали развертывание демонстрационного пользовательского интерфейса, после развертывания вы сможете использовать его для тестирования функций обработки изображений. В консоли AWS CloudFormation выберите ваш стек, перейдите на вкладку "Outputs", найдите значение, соответствующее ключу
DemoUrl, и нажмите на эту ссылку, чтобы открыть демонстрационный интерфейс. - Это решение использует библиотеку Node.js
sharpдля эффективной обработки изображений. Вы можете загрузить исходный код из репозитория GitHub и настроить его по мере необходимости.


-
После завершения настройки дождитесь, пока статус развертывания изменится на
CREATE_COMPLETE. -
В настройках NocoBase обратите внимание на следующее:
Thumbnail rule: Введите параметры обработки изображений, например?width=100. Подробности см. в документации AWS.Access endpoint: Введите значение из Outputs -> ApiEndpoint после развертывания.Full access URL style: Выберите Ignore (поскольку имя бакета уже было указано при настройке, оно не требуется для доступа).

Пример настройки

Alibaba Cloud OSS
Создание бакета
- Откройте консоль OSS.

- Выберите "Buckets" в левом меню и нажмите кнопку "Create Bucket", чтобы начать создание бакета.

-
Заполните данные бакета и нажмите кнопку "Create".
-
Bucket Name: Выберите в соответствии с вашими бизнес-потребностями. -
Region: Выберите ближайший регион для ваших пользователей. -
Остальные настройки могут быть оставлены по умолчанию или настроены по вашему усмотрению.
-

Настройка CORS
- Перейдите на страницу сведений о бакете, который вы только что создали.

- В центральном меню нажмите "Content Security -> CORS".

- Нажмите кнопку "Create Rule", заполните поля, прокрутите вниз и нажмите "OK". Вы можете ориентироваться на скриншот ниже или выполнить более детальную настройку.

Получение AccessKey и SecretAccessKey
- Нажмите "AccessKey" под аватаром вашей учетной записи в правом верхнем углу.

-
Для демонстрационных целей мы создадим AccessKey, используя основную учетную запись. В производственной среде рекомендуется использовать RAM для создания AccessKey. Инструкции см. в документации Alibaba Cloud.
-
Нажмите кнопку "Create AccessKey".

- Завершите проверку учетной записи.

- Сохраните отображаемые Access Key и Secret Access Key.

Получение и настройка параметров
-
AccessKey ID и AccessKey Secret — это значения, полученные на предыдущем шаге.
-
Перейдите на страницу сведений о бакете, чтобы получить имя бакета (
Bucket Name).

- Прокрутите вниз, чтобы получить регион (
Region) (окончание ".aliyuncs.com" не требуется).

- Получите адрес конечной точки (
endpoint) и добавьте префиксhttps://при вводе его в NocoBase.

Настройка миниатюр (необязательно)
Эта настройка является необязательной и используется только при необходимости оптимизации размера или эффекта предварительного просмотра изображений.
-
Заполните соответствующие параметры для
Thumbnail rule. Подробные настройки параметров см. в документации Alibaba Cloud по обработке изображений. -
Настройки
Full upload URL styleиFull access URL styleдолжны быть одинаковыми.
Пример настройки

MinIO
Создание бакета
- Нажмите на меню "Buckets" слева -> Нажмите "Create Bucket", чтобы открыть страницу создания.
- Введите имя бакета, затем нажмите кнопку "Save".
Получение AccessKey и SecretAccessKey
- Перейдите в "Access Keys" -> Нажмите кнопку "Create access key", чтобы открыть страницу создания.

- Нажмите кнопку "Save".

- Сохраните Access Key и Secret Key из всплывающего окна для дальнейшей настройки.

Настройка параметров
-
Перейдите на страницу "File manager" в NocoBase.
-
Нажмите кнопку "Add new" и выберите "S3 Pro".
-
Заполните форму:
- AccessKey ID и AccessKey Secret: Используйте значения, с охраненные на предыдущем шаге.
- Region: В MinIO, развернутом в частном порядке, нет понятия региона; вы можете установить его как "auto".
- Endpoint: Введите доменное имя или IP-адрес вашей развернутой службы.
- Необходимо установить
Full access URL styleв значение "Path-Style".
Пример настройки

Tencent COS
Вы можете настроить его по аналогии с вышеуказанными файловыми службами, логика схожа.
Пример настройки

Cloudflare R2
Вы можете настроить его по аналогии с вышеуказанными файловыми службами, логика схожа.
Пример настройки

Руководство пользователя
Обратитесь к документации плагина для управления файлами.

