FSS3 is an S3 filesystem abstraction layer for Golang
MIT License
FSS3 is an S3 filesystem abstraction layer for Golang that implements most of fs, and io interfaces, and os functions. It is based on minio-go which makes it compatible with any S3 compliant service.
go get github.com/aymanbagabas/fss3
package main
import "github.com/aymanbagabas/fss3"
func main() {
cfg := fss3.Config{
AccessKeyID: "AWS_ACCESS_KEY_ID",
SecretAccessKey: "AWS_SECRET_ACCESS_KEY",
Endpoint: "ENDPOINT",
UseSSL: true,
BucketName: "MY_BUCKET_NAME",
Region: "REGION",
DirFileName: "_", // special directory file name that stores directory metadata
Umask: 0, // Don't set umask
}
s3, err := fss3.New(cfg)
if err != nil {
panic(err)
}
err = s3.Mkdir("Newfolder", 0777)
if err != nil {
panic(err)
}
data := []byte{"hello world"}
err = s3.WriteFile("Newfolder/myfile.txt", data, 0644)
if err != nil {
panic(err)
}
err = s3.RemoveAll("Newfolder")
if err != nil {
panic(err)
}
}
This library is distributed under the MIT License, see LICENSE for more information.