Support for other than amazon AWS S3 storages

I wander if the ServiceStack.AWS can be used to connect to AWS S3 storages other than Amazon’s?
Is it correct to assume that ServiceStack.AWS like other ServiceStack components is now released for .NET Core 1.0 or 1.1?

Thank you,

ServiceStack.Aws has the following Adapters for ServiceStack:

ServiceStack.Aws is also supported on .NET Core 1.1 platforms.

Thank you.
Is there any code sample for use of ServiceStack.AWS with S3VirtualPathProvider to connect to AWS S3 storage?


Please read the docs on ServiceStack.Aws, it has code examples and links to example apps for all ServiceStack.Aws providers.

Unfortunately, an attempt to install nuget package of ServiceStack.Aws (and ServiceStack.Aws.Signed) for a .NET Core 1.0 (and 1.1) console application project failed with the error:

Package ServiceStack.Aws.Signed 4.5.6 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package ServiceStack.Aws.Signed 4.5.6 supports: net45 (.NETFramework,Version=v4.5)

Is there a non-public Nuget repository where the ServiceStack.Aws for .NET Core is available?

After looking into the code example, I have one more question. Is it possible to customize the package to work with a non-Amazon storage? Assuming there is a solution that supports AWS S3 REST API, can I use ServiceStack.Aws as a client to connect to that storage?

Thank you,

As for the first part of your question: you should use ServiceStack.Aws.Core nuget package for .NET Core applications. The ServiceStack.Aws and ServiceStack.Aws.Signed nuget packages support only .NET 4.5 platform.

Thank you. Totally forgot about the naming convention and Core is mostly used to describe core functionality and not the platform… :smile:

@mythz, can you advise about using the ServiceStack.Aws.Core with open-source S3 storage instead of the AWS?

Not sure what S3 OSS alternative you’re referring to, but our S3 support has only been tested against AWS S3.

I have found the solution. The AmazonS3Config has a property ServiceURL. It can be set to URL of the 3rd party S3 storage and then the whole package can be used to connect to 3rd party S3 storage.