CommunityToolkit.Aspire.Minio.Client
9.5.1-beta.308
Prefix Reserved
dotnet add package CommunityToolkit.Aspire.Minio.Client --version 9.5.1-beta.308
NuGet\Install-Package CommunityToolkit.Aspire.Minio.Client -Version 9.5.1-beta.308
<PackageReference Include="CommunityToolkit.Aspire.Minio.Client" Version="9.5.1-beta.308" />
<PackageVersion Include="CommunityToolkit.Aspire.Minio.Client" Version="9.5.1-beta.308" />
<PackageReference Include="CommunityToolkit.Aspire.Minio.Client" />
paket add CommunityToolkit.Aspire.Minio.Client --version 9.5.1-beta.308
#r "nuget: CommunityToolkit.Aspire.Minio.Client, 9.5.1-beta.308"
#addin nuget:?package=CommunityToolkit.Aspire.Minio.Client&version=9.5.1-beta.308&prerelease
#tool nuget:?package=CommunityToolkit.Aspire.Minio.Client&version=9.5.1-beta.308&prerelease
CommunityToolkit.Aspire.Minio.Client
Registers a MinIOClient in the DI container for connecting to MinIO.
Getting started
Prerequisites
- MinIO or other S3-compatible storage.
Install the package
Install the .NET Aspire MinIO Client library with NuGet:
dotnet add package CommunityToolkit.Aspire.Minio.Client
Usage example
In the Program.cs file of your project, call the AddMinioClient
extension method to register a MinioClient
for use via the dependency injection container. The method takes a connection name parameter.
builder.AddMinioClient("minio");
Configuration
The .NET Aspire MinIO Client integration provides multiple options to configure the server connection based on the requirements and conventions of your project.
Use a connection string
When using a connection string from the ConnectionStrings
configuration section, you can provide the name of the connection string when calling builder.AddMinioClient()
:
builder.AddMinioClient("minio");
And then the connection string will be retrieved from the ConnectionStrings
configuration section:
{
"ConnectionStrings": {
"minio": "Endpoint=http://localhost:9001/;AccessKey=minioAdmin;SecretKey=minioAdmin"
}
}
Use configuration providers
The .NET Aspire MinIO Client integration supports Microsoft.Extensions.Configuration.
It loads the MinioClientSettings
from configuration by using the Aspire:Minio:Client
key.
This key can be overriden by using the configurationSectionName
method parameter.
Example appsettings.json
that configures some of the options:
{
"Aspire": {
"Minio": {
"Client": {
"Endpoint": "http://localhost:9001/",
"AccessKey": "minioAdmin",
"SecretKey": "minioAdmin"
}
}
}
}
Use inline delegates
Also you can pass the Action<MinioClientSettings> configureSettings
delegate to set up some or all the options inline, for example to set the API key from code:
builder.AddMinioClient("minio", configureSettings: settings => settings.SecretKey = "minioAdmin");
AppHost extensions
In your AppHost project, install the CommunityToolkit.Aspire.Hosting.Minio
library with NuGet:
dotnet add package CommunityToolkit.Aspire.Hosting.Minio
Then, in the Program.cs file of AppHost
, register a MinIO host and consume the connection using the following methods:
var minio = builder.AddMinioContainer("minio");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(minio);
The WithReference
method configures a connection in the MyService
project named minio
.
In the Program.cs file of MyService
, the MinIO connection can be consumed using:
builder.AddMinioClient("minio");
Then, in your service, inject IMinioClient
and use it to interact with the MinIO or other S3 compatible API:
public class MyService(IMinioClient minioClient)
{
// ...
}
Additional documentation
- https://github.com/minio/minio-dotnet
- https://min.io/docs/minio/linux/developers/dotnet/minio-dotnet.html
Feedback & contributing
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Configuration.Binder (>= 9.0.4)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.4)
- Minio (>= 6.0.4)
- OpenTelemetry.Extensions.Hosting (>= 1.11.1)
-
net9.0
- Microsoft.Extensions.Configuration.Binder (>= 9.0.4)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.4)
- Minio (>= 6.0.4)
- OpenTelemetry.Extensions.Hosting (>= 1.11.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
9.5.1-beta.308 | 118 | 6/17/2025 |
9.5.1-beta.307 | 108 | 6/16/2025 |
9.5.1-beta.306 | 264 | 6/11/2025 |