Skip to content
A multi-cloud file storage library (S3, Google Cloud buckets, Azure blobs) for C#
Branch: master
Clone or download
Chris S
Latest commit ab2415d Sep 19, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Added Azure support Sep 19, 2018
.gitignore
.travis.yml
CloudFileStore.sln
LICENSE
README.md
icon.png
travis-appsettings.config.enc

README.md

NuGet Travis (.org)

CloudFileStore

A .NET Standard multi-cloud file storage library (S3, Google Cloud buckets, Azure blobs).

About

CloudFileStore is a .NET Core (Standard) 2 library to try to unify or speed up file management when you're talking to multiple cloud providers. You know...ones apart from AWS! It's designed just for file storage: S3, Google Cloud, Azure Blobs and hopefully more as it develops.

It's not intended to cover every scenario each SDK offers, for example it won't give you metadata. It also bundles every file storage SDK of every cloud provider - it's designed this way (for now at least) on purpose, for applications that need multi-cloud file operations. So in terms of extra DLLs and file size, it's fairly hefty.

Two projects that currently use it are Letmein and Roadkill.

Usage

Right now, the library only supports text file loading and saving, but it will grow over time. Contributions are welcome, all that is asked is you follow the .NET framework guidelines e.g. implicit typed local variables.

var config = new S3Configuration()
{
    BucketName = "some bucket",
    SecretKey = "secret key",
    AccessKey = "access key",
    Region = "eu-west-1"
};
var provider = new S3StorageProvider(config);
await provider.SaveTextFileAsync("myfile.txt", "content here");

string content = await provider.LoadTextFileAsync("myfile.txt");

Full examples can be found in the integration tests.

You can’t perform that action at this time.