SquidStd.Storage.S3
0.7.0
dotnet add package SquidStd.Storage.S3 --version 0.7.0
NuGet\Install-Package SquidStd.Storage.S3 -Version 0.7.0
<PackageReference Include="SquidStd.Storage.S3" Version="0.7.0" />
<PackageVersion Include="SquidStd.Storage.S3" Version="0.7.0" />
<PackageReference Include="SquidStd.Storage.S3" />
paket add SquidStd.Storage.S3 --version 0.7.0
#r "nuget: SquidStd.Storage.S3, 0.7.0"
#:package SquidStd.Storage.S3@0.7.0
#addin nuget:?package=SquidStd.Storage.S3&version=0.7.0
#tool nuget:?package=SquidStd.Storage.S3&version=0.7.0
<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>
<h1 align="center">SquidStd.Storage.S3</h1>
<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Storage.S3/"><img src="https://img.shields.io/nuget/v/SquidStd.Storage.S3.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Storage.S3.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/storage-s3.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>
S3-compatible storage for SquidStd, backed by the MinIO .NET SDK. Implements IStorageService against
AWS S3, MinIO, or any S3-compatible endpoint, so the same storage API reads and writes object storage.
The bucket is created lazily on first use. Registered with a single AddS3Storage(...) call.
Install
dotnet add package SquidStd.Storage.S3
Features
- One-line registration:
container.AddS3Storage(options). IStorageServiceoverIMinioClient(SaveAsync/LoadAsync/DeleteAsync/ExistsAsync/ListKeysAsync).- Lazy bucket creation;
ListKeysAsync(prefix?)streams object keys via the S3 list API. - Works with AWS S3 and MinIO via
S3StorageOptions(endpoint, credentials, bucket, TLS, region).
Usage
using DryIoc;
using SquidStd.Storage.Abstractions.Interfaces;
using SquidStd.Storage.S3.Data.Config;
using SquidStd.Storage.S3.Extensions;
var container = new Container();
container.AddS3Storage(new S3StorageOptions
{
Endpoint = "localhost:9000",
AccessKey = "minioadmin",
SecretKey = "minioadmin",
Bucket = "app-data"
});
var storage = container.Resolve<IStorageService>();
await storage.SaveAsync("reports/2026.json", "{}"u8.ToArray());
Key types
| Type | Purpose |
|---|---|
S3StorageRegistrationExtensions |
AddS3Storage(...) registration. |
S3StorageService |
MinIO-backed IStorageService. |
S3StorageOptions |
Endpoint, credentials, bucket, TLS, region. |
License
MIT — part of SquidStd.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- DryIoc.dll (>= 5.4.3)
- Minio (>= 7.0.0)
- SquidStd.Aws.Abstractions (>= 0.7.0)
- SquidStd.Storage.Abstractions (>= 0.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.