Skip to content

shtripat/minio-dotnet

 
 

Repository files navigation

MinIO .NET SDK

A modern C# client library for MinIO and S3-compatible object storage services.

Requirements

  • .NET 8.0, 9.0, or 10.0
  • A MinIO or S3-compatible server

Quick Start

Direct usage

var client = new MinioClientBuilder("https://minio.example.com")
    .WithStaticCredentials("accessKey", "secretKey")
    .Build();

Dependency Injection

services
    .AddMinio("http://localhost:9000")
    .WithStaticCredentials("minioadmin", "minioadmin");

Examples

Two example projects are included:

  • Minio.Examples.Simple/ — minimal console app using the direct builder
  • Minio.Examples.Host/ — DI-based example using IHost, demonstrating bucket creation, object upload/download, listing, and bucket notifications

To run an example, start a local MinIO instance first:

docker run --rm -p 9000:9000 quay.io/minio/minio:latest server /data

Then:

dotnet run --project Minio.Examples.Simple
# or
dotnet run --project Minio.Examples.Host

Missing Functionality

The following operations are not yet implemented:

Bucket operations

  • SetBucketEncryptionAsync / GetBucketEncryptionAsync / RemoveBucketEncryptionAsync
  • SetBucketLifecycleAsync / GetBucketLifecycleAsync / RemoveBucketLifecycleAsync
  • SetBucketReplicationAsync / GetBucketReplicationAsync / RemoveBucketReplicationAsync
  • SetPolicyAsync / GetPolicyAsync / RemovePolicyAsync

Object operations

  • CopyObjectAsync
  • SelectObjectContentAsync
  • PresignedGetObjectAsync / PresignedPutObjectAsync / PresignedPostPolicyAsync
  • GetObjectTagsAsync / SetObjectTagsAsync / RemoveObjectTagsAsync
  • SetObjectRetentionAsync / GetObjectRetentionAsync / ClearObjectRetentionAsync
  • SetObjectLegalHoldAsync / GetObjectLegalHoldAsync

Convenience operations

  • UploadObjectAsync — automatic multi-part upload for large objects

About

MinIO Client SDK for .NET

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 100.0%