Nebulous Puffy Marshmallows

    @linzjs/s3fs
    TypeScript icon, indicating that this package has built-in type declarations

    6.9.1 • Public • Published

    S3 FS

    Utility functions for working with files that could either reside on the local file system or inside s3

    Usage

    import { fsa } from '@linzjs/s3fs';
    
    for await (const file of fsa.list('s3://foo/bar')) {
        // ['s3://foo/bar/baz.html', 's3://foo/bar/index.html']
    }
    
    for await (const file of fsa.list('/home/blacha')) {
        // '/home/blacha/index.html'
    }
    
    // Convert the generator to an array
    const files = await fsa.toArray(fsa.list('s3://foo/bar'));

    This is designed for use with multiple s3 credentials

    import {fsa, FsS3} from '@linzjs/s3fs'
    
    const bucketA = new S3({ credentials: bucketACredentials })
    const bucketB = new S3({ credentials: bucketBCredentials  })
    
    fsa.register('s3://bucket-a', new FsS3(bucketA))
    fsa.register('s3://bucket-b', new FsS3(bucketB))
    
    // Stream a file from bucketA to bucketB
    await fsa.write('s3://bucket-b/foo', fsa.readStream('s3://bucket-a/foo'))

    Or even any s3 compatible api

    import {fsa, FsS3} from '@linzjs/s3fs'
    
    const bucketA = new S3({ endpoint: 'http://10.0.0.1:8080' })
    const bucketB = new S3({ endpoint: 'http://10.0.0.99:8080' })
    
    fsa.register('s3://bucket-a', new FsS3(bucketA))
    fsa.register('s3://bucket-b', new FsS3(bucketB))
    
    // Stream a file from bucketA (10.0.0.1) to bucketB (10.0.0.99)
    await fsa.write('s3://bucket-b/foo', fsa.readStream('s3://bucket-a/foo'))

    Keywords

    none

    Install

    npm i @linzjs/s3fs

    DownloadsWeekly Downloads

    75

    Version

    6.9.1

    License

    MIT

    Unpacked Size

    54.7 kB

    Total Files

    31

    Last publish

    Collaborators

    • linzds
    • blacha
    • philals