Skip to content
Experimental type provider for Amazon S3
F# Other
  1. F# 99.8%
  2. Other 0.2%
Branch: develop
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget - updated build script to remove explicit path to FAKE Dec 14, 2013
nuget - updated logo Oct 4, 2014
src/S3Provider [infra] FSharp.Core nuget Apr 17, 2015
tests/S3Provider.Tests [infra] FSharp.Core nuget Apr 17, 2015
.gitignore - initial project structure Dec 13, 2013
.travis.yml Update .travis.yml Sep 11, 2014
LICENSE.txt - fixed bug with accessing the CreationDate property on the bucket type Dec 18, 2013
S3Provider.sln - first pass implementation Dec 14, 2013

Issue Stats Issue Stats

S3 Type Provider NuGet Status

A F# type provider for Amazon S3.


// create a type representing the S3 account with the specified AWS credentials
type S3 = S3Provider.Account<"AWS Key", "AWS Secret">

// then access meta-data and content of objects in S3 with full intellisense support!

// immediately after the type representing the account are all the buckets
type bucket = S3.``my.bucket``

// you can then select folders/files from that bucket
type folder = bucket.``2013-12-13/``

// on files, you can get meta-data such as ETag, LastModified, or fetch the content as
//		* Raw   - raw binary array
//		* UTF8  - the content as decoded using UTF8
//		* ASCII - the content as decoded using ASCII
let etag = folder.``My file.txt``.ETag
let utf8 = folder.``My file.txt``.Content.UTF8
let raw  = folder.``My image.png``.Content.Raw
let lastModified = folder.``My image.png``.LastModified

// if the bucket/folder is large, you can also use the `Search<...>` generic type to find
// files in the bucket by prefix
type search = bucket.Search<"2013-12-">

// you can then navigate through the search results the same as before!
let searchResultContent = search.``2013-12-13``.``My file.txt``.Content.Raw

Demo Video



The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)

You can’t perform that action at this time.