Настроить интеграцию с файловым хранилищем S3

Продукты
Все продукты

Возможность настроить интеграцию с файловым хранилищем S3 доступна в Creatio версии 7.18.1 и выше.

Файловое хранилище S3 — это облачный REST-сервис хранения объектов. Позволяет хранить данные в исходном формате без ограничений по масштабированию.

S3 (Simple Storage Service) — протокол передачи данных, который разработан компанией Amazon. Мы рекомендуем использовать хранилище Amazon S3. Подробнее читайте в официальной документации вендора.

На заметку. Creatio позволяет подключить только одно хранилище S3.

Для настройки интеграции с файловым хранилищем S3 для cloud приложений обратитесь в службу поддержки. Настройка интеграции с файловым хранилищем S3 для on-site приложений выполняется администратором приложения по текущей инструкции.

В общем случае настройка интеграции с хранилищем S3 состоит из следующих шагов:

  1. Настройки на стороне S3. Подробнее >>>
  2. Настройки на стороне Creatio. Подробнее >>>

Настройки на стороне S3 

  1. Создайте аккаунт в сервисе хранения данных, который поддерживает протокол S3.
  2. Сгенерируйте параметр “ServiceUrl”, который позволит Creatio получить доступ к хранилищу S3.
  3. Сгенерируйте параметры “AccessKey” и “SecretKey”, которые позволят выполнять авторизованный запрос к хранилищу S3.
  4. Создайте корзины (buckets, бакеты) “ObjectBucketName” и “RecycleBucketName” с уникальными именами.

    • “ObjectBucketName” — корзина для хранения файлов. Файлы хранятся неограниченное количество времени.
    • “RecycleBucketName” — корзина для хранения файлов, которые были удалены и хранятся для резервных копий базы данных. В основе работы с корзинами лежит принцип мягкого удаления: после удаления файла из корзины “ObjectBucketName” файл переносится в корзину “RecycleBucketName”. Время хранения файлов в корзине определяется настройками корзины определенного сервиса. Например, файл может храниться в корзине 90 дней, затем автоматически удаляться. В Creatio время хранения удаленных файлов равно времени хранения резервных копий базы данных.

    Подробнее читайте в официальной документации вендора (на английском языке).

Настройки на стороне Creatio 

Чтобы новые файлы, которые будут загружены на детали Файлы и ссылки или прикреплены к письмам, сохранялись в S3, а не в базе данных, необходимо выполнить настройку на стороне Creatio:

  1. Настройте подключение к хранилищу S3. Для этого в параметр connectionString конфигурационного файла ConnectionStrings.config добавьте строку с параметрами подключения к хранилищу S3:

    <connectionStrings>
        ...
        <add name="s3Connection" connectionString="ServiceUrl=SOME_SERVICE_URL; AccessKey=SOME_ACCESS_KEY; SecretKey=SOME_SECRET_KEY; ObjectBucketName=SOME_OBJECT_BUCKET_NAME; RecycleBucketName=SOME_RECYCLE_BUCKET_NAME;" />
    </connectionStrings>
    

    где

    • ServiceUrl — конечная точка для получения доступа к хранилищу S3.
    • AccessKey — ключ доступа к аккаунту для выполнения авторизованного запроса к хранилищу S3.
    • SecretKey — ключ к аккаунту для выполнения авторизованного запроса к хранилищу S3.
    • ObjectBucketName — имя контейнера для хранения файлов.
    • RecycleBucketName — имя контейнера для хранения файлов, которые были удалены и хранятся для резервных копий базы данных.
  2. Чтобы при удалении записей разделов связанные файлы корректно переносились в “RecycleBucketName”, перейдите на страницу дополнительной функциональности и включите функциональность “UseBaseEntityFileDeleteListener”. Подробнее: Механизм Feature Toggle (документация для разработчика).

  3. Установите хранилище S3 в качестве активного хранилища файлов. Для этого откройте системную настройку “Активное хранилище содержимого файлов” (код ActiveFileContentStorage). В поле Значение по умолчанию выберите “Хранилище S3”.

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