StorageFlow.Provider.S3
1.0.0
dotnet add package StorageFlow.Provider.S3 --version 1.0.0
NuGet\Install-Package StorageFlow.Provider.S3 -Version 1.0.0
<PackageReference Include="StorageFlow.Provider.S3" Version="1.0.0" />
<PackageVersion Include="StorageFlow.Provider.S3" Version="1.0.0" />
<PackageReference Include="StorageFlow.Provider.S3" />
paket add StorageFlow.Provider.S3 --version 1.0.0
#r "nuget: StorageFlow.Provider.S3, 1.0.0"
#:package StorageFlow.Provider.S3@1.0.0
#addin nuget:?package=StorageFlow.Provider.S3&version=1.0.0
#tool nuget:?package=StorageFlow.Provider.S3&version=1.0.0
StorageFlow.Provider.S3
Official AWS S3 provider for StorageFlow. It supports uploads, streaming downloads, delete, exists, object metadata, normalized ETags, and presigned URLs through the common StorageFlow API.
Install
dotnet add package StorageFlow.Core
dotnet add package StorageFlow.Provider.S3
Recommended AWS configuration
Omit static credentials to use the AWS SDK default credential chain. This is recommended for IAM roles, workload identity, AWS profiles, and CI federation.
using StorageFlow.Core.DependencyInjection;
using StorageFlow.Provider.S3;
builder.Services.AddStorageFlow(options =>
{
options.Providers.UseS3(s3 => s3.Configure(config =>
{
config.Region = "eu-north-1";
})).AsDefault();
});
Static and temporary credentials are also supported:
config.AccessKey = builder.Configuration["Storage:S3:AccessKey"];
config.SecretKey = builder.Configuration["Storage:S3:SecretKey"];
config.SessionToken = builder.Configuration["Storage:S3:SessionToken"];
Access and secret keys must be supplied together. A session token requires both. Keep credentials outside source control.
Select S3 for an operation
var result = await storage
.Provider(SFProvider.S3)
.FromStream(stream, fileName, contentType, contentLength)
.UploadAsync("documents", cancellationToken);
Downloads expose the AWS response stream through a wrapper that also owns the
SDK response. Dispose DownloadResult.Content when finished.
StorageFlow does not create buckets and does not include a built-in retry policy. Configure bucket lifecycle, access, and resiliency at the application or infrastructure boundary.
See the StorageFlow.Core user guide
and GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net9.0
- AWSSDK.S3 (>= 4.0.24.2)
- StorageFlow.Abstractions (>= 1.0.0)
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 |
|---|---|---|
| 1.0.0 | 128 | 6/24/2026 |
| 1.0.0-rc.2 | 71 | 6/23/2026 |
| 1.0.0-rc.1 | 72 | 6/23/2026 |