Skip to content

Backend - S3 Integration Configuration in Enqualify

In this document, we will describe how the S3 integration is configured in our .NET application.
The integration is controlled via appsettings.json, under the Application > Settings section.

We will first show an example configuration (with sample/placeholder values, not our real keys), and then explain what data should be entered for each field.

All S3-related settings must be added under:

Text Only
{
  "Application": {
    "Settings": {
      // S3 ayarları burada yer alacak
    }
  }
}

Example appsettings.json S3 Configuration

Text Only
{
  "Application": {
    "Settings": {
      "UseS3Storage": true,
      "S3BucketPath": "https://example-s3-endpoint.com",
      "S3AccessKey": "YOUR_S3_ACCESS_KEY",
      "S3SecretKey": "YOUR_S3_SECRET_KEY",
      "S3Region": "eu-central-1",
      "S3BucketName": "your-bucket-name",
      "S3UseIamRole": false
    }
  }
}

Note: The values above are examples. You must replace them with the correct values for your environment.


Description of Each S3 Setting

UseS3Storage (bool)

  • Purpose: Enables or disables the use of S3 as the storage provider.
  • Expected values:

  • true → The application will use S3 for file/storage operations.

  • false → The application will not use S3 (it will fall back to the default/local storage mechanism, if implemented).

S3BucketPath (string)

  • Purpose: The base URL or endpoint of the S3-compatible storage service.
  • Example:

  • <https://example-s3-endpoint.com>

  • What to enter:

  • The HTTP/HTTPS endpoint of your S3 service (this may be AWS S3 or an S3-compatible provider such as MinIO or another object storage).

  • It should not include the object key; it is only the base endpoint for the bucket service.

S3AccessKey (string)

  • Purpose: The access key (public part) used to authenticate against the S3 service.
  • What to enter:

  • The access key you obtained from your S3 provider.

S3SecretKey (string)

  • Purpose: The secret key (private part) used together with the access key to authenticate against the S3 service.
  • What to enter:

  • The secret key paired with the access key from your S3 provider.

S3Region (string)

  • Purpose: The primary region of the S3 bucket used by the application.
  • Example:

  • eu-central-1

  • What to enter:

  • The region identifier where your target bucket is created.

  • This must match the region configuration in your S3 provider.

S3BucketName (string)

  • Purpose: The name of the S3 bucket where application data will be stored.
  • Example:

  • your-bucket-name

  • What to enter:

  • The actual bucket name created in your S3-compatible storage.

  • Ensure that the IAM/credentials used have the necessary permissions (read/write) for this bucket.

S3UseIamRole (bool)

  • Purpose: Indicates whether the application should use an IAM role for authentication instead of explicit access/secret keys.
  • Expected values:

  • true → Use IAM role-based authentication (e.g., running on an environment that provides instance or pod roles).

  • false → Use S3AccessKey and S3SecretKey for authentication.
  • What to enter:

  • Set to true only if your deployment environment supports and is configured with an appropriate IAM role.