https://github.com/fsprojects/S3Provider
Experimental type provider for Amazon S3
https://github.com/fsprojects/S3Provider
Last synced: about 2 hours ago
JSON representation
Experimental type provider for Amazon S3
- Host: GitHub
- URL: https://github.com/fsprojects/S3Provider
- Owner: fsprojects
- License: mit
- Created: 2013-12-13T22:03:25.000Z (almost 12 years ago)
- Default Branch: develop
- Last Pushed: 2016-04-04T19:51:22.000Z (over 9 years ago)
- Last Synced: 2025-09-23T23:53:16.399Z (about 2 months ago)
- Language: F#
- Homepage: http://fsprojects.github.io/S3Provider
- Size: 762 KB
- Stars: 22
- Watchers: 12
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-fsharp - S3Provider - Experimental type provider for Amazon S3. (Type Providers / Performance Analysis)
README
[](http://issuestats.com/github/fsprojects/S3Provider)
[](http://issuestats.com/github/fsprojects/S3Provider)
S3 Type Provider [](https://www.nuget.org/packages/S3Provider/)
=======================
A F# type provider for **Amazon S3**.
### Example
```fsharp
// 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
[](http://www.youtube.com/watch?v=LOU00RlArqg)
### Maintainer(s)
- [@theburningmonk](https://github.com/theburningmonk)
The default maintainer account for projects under "fsprojects" is [@fsprojectsgit](https://github.com/fsprojectsgit) - F# Community Project Incubation Space (repo management)