💥 Minio.AspNetCore 💥
Microsoft.Extensions.DependencyInjection
and HealthChecks
extensions for Minio client
🔧 Installation 🔧
$> dotnet add package Minio.AspNetCore
🎨 Usage 🎨
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();
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 3.x to 4.x
Minio
upgraded to 4.0.0options.OnClientConfiguration
replaced withoptions.ConfigureClient(...)