Minio.AspNetCore 6.0.1

💥 Minio.AspNetCore 💥

License Nuget Downloads Tests codecov

⚡️ Microsoft.Extensions.DependencyInjection and HealthChecks extensions for Minio client ⚡️

🔧 Installation 🔧

$> dotnet add package Minio.AspNetCore

🎨 Usage 🎨

✅ Add MinioClient

services.AddMinio(options =>
{
  options.Endpoint = "endpoint";
  // ...
  options.ConfigureClient(client =>
  {
    client.WithSSL();
  });
});

// Url based configuration
services.AddMinio(new Uri("s3://accessKey:secretKey@localhost:9000/region"));

// Get or inject
var client = serviceProvider.GetRequiredService<MinioClient>();

// Create new from factory
var client = serviceProvider.GetRequiredService<IMinioClientFactory>().CreateClient();

Multiple clients support using named options

services.AddMinio(options =>
{
  options.Endpoint = "endpoint1";
  // ...
  options.ConfigureClient(client =>
  {
    client.WithSSL();
  });
});

// Named extension overload
services.AddMinio("minio2", options =>
{
  options.Endpoint = "endpoint2";
  // ...
  options.ConfigureClient(client =>
  {
    client.WithSSL().WithTimeout(...);
  });
});

// Explicit named Configure
services.AddMinio()
  .Configure<MinioOptions>("minio3", options =>
  {
    options.Endpoint = "endpoint3";
    // ...
  });

// Get or inject first minio client
var client = serviceProvider.GetRequiredService<MinioClient>();

// Create new minio2
var client = serviceProvider.GetRequiredService<IMinioClientFactory>().CreateClient("minio2");

// Create new minio3
var client = serviceProvider.GetRequiredService<IMinioClientFactory>().CreateClient("minio3");

🚑 HealthChecks 🚑

// Minio.AspNetCore.HealthChecks package

services.AddHealthChecks()
  .AddMinio(sp => sp.GetRequiredService<MinioClient>());

services.AddHealthChecks()
  .AddMinio(sp => sp.GetRequiredService<MinioClient>())
  .AddMinio(sp => /* Get named client from cache or create new */);

Breaking changes

  • From 4.x to 5.x
    • Target frameworks support netstandard, .net6 and .net7
    • Minio upgraded to 5.0.0
  • From 3.x to 4.x
    • Minio upgraded to 4.0.0
    • options.OnClientConfiguration replaced with options.ConfigureClient(...)
  • From 5.x to 6.x
    • Minio upgraded to 6.0.1
    • DI client type changed from MinioClient to IMinioClient

No packages depend on Minio.AspNetCore.

https://github.com/appany/Minio.AspNetCore/releases

Version Downloads Last updated
6.0.1 2 05/14/2026
6.0.0 0 01/08/2024
5.0.0 0 05/07/2023
4.0.8 0 02/22/2023
4.0.7 0 02/13/2023
4.0.6 0 12/15/2022
4.0.5 0 07/29/2022
4.0.4 0 06/14/2022
4.0.3 0 05/29/2022
4.0.2 0 04/10/2022
4.0.1 0 03/25/2022
4.0.0 0 03/15/2022
3.1.22 0 12/14/2021
3.1.21 0 07/24/2021
3.1.20 0 05/30/2021
3.1.19 0 04/12/2021
3.1.18 0 03/29/2021
3.1.17 0 03/26/2021
3.1.16 0 03/26/2021
3.1.15 0 02/26/2021
3.1.14 0 02/16/2021
3.1.13 0 11/23/2020
3.1.12 0 11/17/2020
3.1.11 0 10/19/2020
3.1.10 0 10/16/2020
3.1.9 0 10/07/2020
3.1.8 0 10/06/2020