FileHub.AmazonS3
2.0.0
dotnet add package FileHub.AmazonS3 --version 2.0.0
NuGet\Install-Package FileHub.AmazonS3 -Version 2.0.0
<PackageReference Include="FileHub.AmazonS3" Version="2.0.0" />
<PackageVersion Include="FileHub.AmazonS3" Version="2.0.0" />
<PackageReference Include="FileHub.AmazonS3" />
paket add FileHub.AmazonS3 --version 2.0.0
#r "nuget: FileHub.AmazonS3, 2.0.0"
#:package FileHub.AmazonS3@2.0.0
#addin nuget:?package=FileHub.AmazonS3&version=2.0.0
#tool nuget:?package=FileHub.AmazonS3&version=2.0.0
FileHub.AmazonS3
Amazon S3 driver for FileHub — exposes any S3 General Purpose bucket as an IFileHub with the same API as the Local and Memory drivers.
Heads up: FileHub is a young library. The API is stabilizing but rough edges are likely — bug reports, feedback, and PRs are very welcome on the issue tracker.
Install
dotnet add package FileHub.AmazonS3
Quick start
using Amazon.Runtime;
using FileHub.AmazonS3;
using var hub = AmazonS3FileHub.Create(
AmazonS3HubOptions.FromCredentials(
bucketName: "reports",
credentials: new BasicAWSCredentials(key, secret),
region: "us-east-1",
rootPath: "archive/2026"));
hub.Root.CreateFile("q1.pdf").SetBytes(bytes); // 1 PutObject
Always using or register as a singleton — the hub owns the AWSSDK HTTP client by default.
Features
- Server-side
CopyObjectforRename/MoveTo/CopyTo(same and cross-region). - Multipart uploads with constant memory — large writes spill to multipart automatically (tune via
FileWriteOptions.StreamPreference) — plus presigned-part flows for direct browser/mobile uploads (IMultipartUploadSignable). - Presigned GET URLs via SigV4 (
IUrlAccessible). - Mutable, dirty-tracked metadata (
Content-Type,StorageClass,ServerSideEncryption, user-metadata tags) applied automatically on the next write/copy. - Lazy stubs —
OpenFile(name, createIfNotExists: true)/CreateFile("a/b/c.txt")cost zero server calls until you actually write.
Not supported
- S3 Express One Zone (Directory Buckets) — different auth flow and missing features the driver depends on. Use the AWS SDK directly for that storage tier.
Documentation
Full driver reference (cost matrix, metadata semantics, multipart contracts) on the wiki.
License
MIT — see LICENSE.txt.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.