MinIO Storage - robinrodricks/FluentStorage GitHub Wiki

In order to use MinIO storage you need to reference NuGet package first. The provider wraps around the standard AWS SDK which is updated regularly, but adds a lot of untrivial workarounds that makes your life painless.

Connect to MinIO

You can use the MinIO method to connect to MinIO storage servers (S3 compatible).

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

IBlobStorage storage = StorageFactory.Blobs.MinIO(
    accessKeyId, secretAccessKey, bucketName, awsRegion, minioServerUrl);

Connection Strings

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

StorageFactory.Modules.UseAwsStorage();

Then construct using the following format:

IBlobStorage storage = StorageFactory.Blobs.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 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.

Native Operations

Native operations are exposed via IAwsS3BlobStorageNativeOperations interface.

⚠️ **GitHub.com Fallback** ⚠️