Skip to main content
Version: 8.1

Set up S3 file storage integration

Level: intermediate

S3 file storage is a cloud-based object storage REST service. It lets you use data as is without scalability restrictions.

S3 (Simple Storage Service) is a data transfer protocol developed by Amazon. We recommend using Amazon S3 storage. Learn more: official vendor documentation.

note

You can only connect one S3 storage to Creatio.

If you use Creatio in the cloud, contact Creatio support to integrate an S3 file storage.

To integrate an S3 file storage to Creatio on-site:

  1. Setup in S3. Read more >>>
  2. Setup in Creatio. Read more >>>

Setup in S3

  1. Create an account that has an S3-capable storage service.

  2. Enable Creatio to access the storage. To do this, generate a “ServiceUrl” parameter.

  3. Enable authorized requests to the storage. To do this, generate the “AccessKey” and “SecretKey” parameters.

  4. Create “ObjectBucketName” and “RecycleBucketName” buckets that have unique names.

    • “ObjectBucketName” is a bucket for storing files. The files are stored indefinitely.
    • “RecycleBucketName” is a bucket for storing deleted files. They are kept for database backups. Working with the buckets is based on the soft deletion principle: a file deleted from the “ObjectBucketName” bucket is moved to the “RecycleBucketName” bucket. The storage time for deleted files is controlled by the bucket settings of the service. For example, a file can be stored in the bucket for 90 days, then deleted automatically. In Creatio, the storage time for deleted files is the same as the storage time for database backups.

    Learn more: official vendor documentation.

Setup in Creatio

To save new files uploaded to the Attachments detail or email attachments in the S3 storage rather than the database, make the following adjustments on the Creatio side:

  1. Set up a connection to the S3 storage. To do this, add an S3 storage connection string to the connectionString parameter of the ConnectionStrings.config configuration file:

    <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>

    where

    • ServiceUrl is the endpoint for accessing the S3 storage.
    • AccessKey is the account access key for making an authorized request to the S3 storage.
    • SecretKey is the account key for making an authorized request to the S3 storage.
    • ObjectBucketName is the name of the bucket for storing files.
    • RecycleBucketName is the name of the bucket for storing deleted files. They are kept for database backups.
  2. Enable the “UseBaseEntityFileDeleteListener” additional feature to ensure that connected files are also moved to “RecycleBucketName” correctly when a section record is deleted. To do this, change the status of the “UseBaseEntityFileDeleteListener” additional feature. Instructions: Change the status of an additional feature for all users (developer documentation).

  3. Set the S3 storage as the active file storage. To do this, open the “Active File Content Storage” (“ActiveFileContentStorage” code) system setting. Select “S3 storage” in the Default value field.

As a result, all files added to Creatio after connecting the S3 storage will be uploaded there. Files previously added to Creatio will remain in the original storage. You can migrate previously added files from Creatio database to the “ObjectBucketName” bucket in the S3 file storage and vice versa. Instructions: Migrate files between database and external file storages.


See also

Migrate files between database and external file storages

Set up Azure Blob file storage integration

Manage an existing additional feature (developer documentation)

Official Amazon S3 documentation