Файловое хранилище S3 — это облачный REST-сервис хранения объектов. Позволяет хранить данные в исходном формате без ограничений по масштабированию.
S3 (Simple Storage Service) — протокол передачи данных, который разработан компанией Amazon. Мы рекомендуем использовать хранилище Amazon S3. Подробнее читайте в официальной документации вендора.
Для настройки интеграции с файловым хранилищем S3 для cloud приложений обратитесь в службу поддержки. Настройка интеграции с файловым хранилищем S3 для on-site приложений выполняется администратором приложения по текущей инструкции.
В общем случае настройка интеграции с хранилищем S3 состоит из следующих шагов:
- Настройки на стороне S3. Подробнее >>>
- Настройки на стороне Creatio. Подробнее >>>
Настройки на стороне S3
- Создайте аккаунт в сервисе хранения данных, который поддерживает протокол S3.
- Сгенерируйте параметр “ServiceUrl”, который позволит Creatio получить доступ к хранилищу S3.
- Сгенерируйте параметры “AccessKey” и “SecretKey”, которые позволят выполнять авторизованный запрос к хранилищу S3.
-
Создайте корзины (buckets, бакеты) “ObjectBucketName” и “RecycleBucketName” с уникальными именами.
- “ObjectBucketName” — корзина для хранения файлов. Файлы хранятся неограниченное количество времени.
- “RecycleBucketName” — корзина для хранения файлов, которые были удалены и хранятся для резервных копий базы данных. В основе работы с корзинами лежит принцип мягкого удаления: после удаления файла из корзины “ObjectBucketName” файл переносится в корзину “RecycleBucketName”. Время хранения файлов в корзине определяется настройками корзины определенного сервиса. Например, файл может храниться в корзине 90 дней, затем автоматически удаляться. В Creatio время хранения удаленных файлов равно времени хранения резервных копий базы данных.
Подробнее читайте в официальной документации вендора (на английском языке).
Настройки на стороне Creatio
Чтобы новые файлы, которые будут загружены на детали Файлы и ссылки или прикреплены к письмам, сохранялись в S3, а не в базе данных, необходимо выполнить настройку на стороне Creatio:
-
Настройте подключение к хранилищу S3. Для этого в параметр connectionString конфигурационного файла ConnectionStrings.config добавьте строку с параметрами подключения к хранилищу S3:
где
- ServiceUrl — конечная точка для получения доступа к хранилищу S3.
- AccessKey — ключ доступа к аккаунту для выполнения авторизованного запроса к хранилищу S3.
- SecretKey — ключ к аккаунту для выполнения авторизованного запроса к хранилищу S3.
- ObjectBucketName — имя контейнера для хранения файлов.
- RecycleBucketName — имя контейнера для хранения файлов, которые были удалены и хранятся для резервных копий базы данных.
-
Чтобы при удалении записей разделов связанные файлы корректно переносились в “RecycleBucketName”, перейдите на страницу дополнительной функциональности и включите функциональность “UseBaseEntityFileDeleteListener”. Подробнее: Механизм Feature Toggle (документация для разработчика).
-
Установите хранилище S3 в качестве активного хранилища файлов. Для этого откройте системную настройку “Активное хранилище содержимого файлов” (код ActiveFileContentStorage). В поле Значение по умолчанию выберите “Хранилище S3”.
В результате все файлы, которые добавлены в Creatio после подключения S3, будут загружены во внешнее хранилище. Файлы, которые были добавлены в приложение ранее, останутся в прежнем хранилище.