Skip to content

MinIO Storage

Robin Rodricks edited this page Jul 15, 2026 · 8 revisions

FluentStorage has extensive support for MinIO, using either the native SDK or the S3-compatible SDK.

Connect to MinIO using Native SDK

First reference the FluentStorage.Minio nuget. This provider uses the native Minio SDK.

You can use the MinioStorage factory class to connect to MinIO storage servers.

For endpoint, you need to enter the absolute server URL of your MinIO endpoint.

IStore store = MinioStorage.FromCredentials(
    endpoint, accessKey, secretKey, bucketName, useSsl, region);

Connection Strings using Native SDK

Not yet supported. Create a ticket if you need this.

Connect to MinIO using S3 SDK

First reference the FluentStorage.AWS nuget. This provider wraps around the standard AWS SDK.

You can use the MinioS3Storage factory class to connect to MinIO storage servers.

For minioServerUrl, you need to enter the absolute server URL of your MinIO endpoint.

IStore store = MinioS3Storage.FromCredentials(
    accessKeyId, secretAccessKey, bucketName, awsRegion, minioServerUrl);

Connection Strings using S3 SDK

To create with a connection string, first reference the module:

AwsS3Storage.Use();

Then construct using the following format:

IStore store = StorageFactory.FromConnectionString("minio.s3://keyId=...;key=...;bucket=...;region=...");

where:

  • keyId is (optional) access key ID.
  • key is (optional) secret access key.
  • bucket is bucket name.
  • region is the AWS account region (such as us-east-1).
  • serviceUrl is the URL of the MinIO storage provider.

AWS CLI Profile Support

If you already have credentials in the local credentials file generated by AWS CLI, you can also use them to connect to a bucket with FluentStorage. Look here for more details.

Special S3-SDK features for MinIO

  • Remote directory recursion occurs on MinIO server rather than locally (ListFolderAsync API).
  • ListOptions has a PageSize parameter which can be used to control the internal paging size used for remote recursion.

Perform storage operations

Use our simple polycloud API to perform file and object manipulation operations.

Native operations

Call the IStore.GetClient() method to return the native SDK client and perform any native operations.

Clone this wiki locally