Skip to content
forked from jszwec/s3fs

S3 FileSystem (fs.FS) implementation

License

Notifications You must be signed in to change notification settings

flanksource/s3fs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

s3fs Go Reference Go

Package s3fs provides a S3 implementation for Go1.16 filesystem interface.

Since S3 is a flat structure, s3fs simulates directories by using prefixes and "/" delim. ModTime on directories is always zero value.

SDK Versions

github.com/flanksource/s3fs uses aws sdk v1

github.com/flanksource/s3fs/v2 uses aws sdk v2

Example (SDK v1)

const bucket = "my-bucket"

s, err := session.NewSession()
if err != nil {
    log.Fatal(err)
}

s3fs := s3fs.New(s3.New(s), bucket)

// print out all files in s3 bucket.
_ = fs.WalkDir(s3fs, ".", func(path string, d fs.DirEntry, err error) error {
    if err != nil {
        return err
    }

    if d.IsDir() {
        fmt.Println("dir:", path)
        return nil
    }
    fmt.Println("file:", path)
    return nil
})

Installation

go get github.com/flanksource/s3fs

Requirements

  • Go1.16+

About

S3 FileSystem (fs.FS) implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%