S3Lite 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package S3Lite --version 1.0.2                
NuGet\Install-Package S3Lite -Version 1.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="S3Lite" Version="1.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add S3Lite --version 1.0.2                
#r "nuget: S3Lite, 1.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install S3Lite as a Cake Addin
#addin nuget:?package=S3Lite&version=1.0.2

// Install S3Lite as a Cake Tool
#tool nuget:?package=S3Lite&version=1.0.2                

alt tag

S3Lite

Simple AWS S3 client library without all of the heft and dependency drag of the official library.

NuGet Version NuGet

Feedback and Enhancements

Encounter an issue or have an enhancement request? Please file an issue or start a discussion here!

New in v1.0.x

  • Initial release

Examples

Refer to the Test.S3 and Test.S3Compatible projects for full examples.

Create for AWS S3

using S3Lite;
using S3Lite.ApiObjects;

S3Client s3 = new S3Client()
  .WithRegion("us-west-1")
  .WithAccessKey("AKIAIOSFODNN7EXAMPLE")
  .WithSecretKey("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY")
  .WithRequestStyle(RequestStyleEnum.VirtualHostedStyle)
  .WithSignatureVersion(SignatureVersionEnum.Version4)
  .WithLogger(Console.WriteLine);

Create for S3-Compatible Storage

using S3Lite;
using S3Lite.ApiObjects;

S3Client s3 = new S3Client()
  .WithRegion("us-west-1")
  .WithAccessKey("AKIAIOSFODNN7EXAMPLE")
  .WithSecretKey("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY")
  .WithHostname("localhost")
  .WithPort(9000)
  .WithProtocol(ProtocolEnum.Http)
  .WithRequestStyle(RequestStyleEnum.PathStyle)
  .WithLogger(Console.WriteLine);

Example APIs

using S3Lite;
using S3Lite.ApiObjects;

// Service APIs
ListAllMyBucketsResult buckets = await s3.Service.ListBucketsAsync();

// Bucket APIs
bool exists = await s3.Bucket.ExistsAsync("bucket1");
await s3.Bucket.Write("bucket2", "us-west-1");
ListBucketResult objects = await s3.Bucket.ListAsync();
await s3.Bucket.DeleteAsync("bucket2");

// Object APIs
await s3.Object.WriteAsync("bucket1", "myobject", Encoding.UTF8.GetBytes("Hello, world!"));
bool exists = await s3.Object.ExistsAsync("bucket1", "myobject");
byte[] data = await s3.Object.ReadAsync("bucket1", "myobject");
await s3.Object.DeleteAsync("bucket1", "myobject");

Version History

Refer to CHANGELOG.md for details.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  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 is compatible.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on S3Lite:

Package Downloads
Blobject.AmazonS3Lite

BLOB storage client for Amazon S3 (including compatible storage e.g. Minio, Less3, Ceph, View) using a lightweight, non-AWS SDK. Refer to other Blobject packages for other storage repository types.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.6 224 8/28/2024
1.0.5 73 8/28/2024
1.0.3 64 8/27/2024
1.0.2 1,535 4/29/2024
1.0.1 71 4/29/2024
1.0.0 198 11/11/2023

Initial release