scaleway-s3

    0.0.21 • Public • Published

    scaleway-s3

    Read and write objects to scaleway S3 using fetch() getPublicUrl | glacierObject | restoreObject | getObject | createFolder | createBucket

    Install

    $ npm install scaleway-s3
    

    Usage

    import scalewayS3 from "scaleway-s3";
    
    var s3 = new scalewayS3({
        accessKey: '<private accessKey>',
        secretKey: '<private secretKey>',
        region: 'fr-par',
        domain: 'scw.cloud'
    });
    
    (async function() {
        try {
    
            let bucket = 'testbucket';
            let key = '/a/test/file.txt';
    
            let body = 'test file contents';
            let putResponse = await s3.putObject(bucket, key, body)
            console.log(`put status: ${putResponse.status}`)
            console.log(`put response body: '${await putResponse.text()}'`)
    
            let path = '/?delimiter=/&marker=&prefix=/a/test/';
            let list = await s3.getList({bucket, path});
            console.log(`get status: ${list.status}`)
            console.log(`get response body: '${await list.text()}'`)
    
            let key = '/a/test/?acl';
            let aclResponse = await s3.getObject(bucket, key);
            console.log(`get status: ${aclResponse.status}`)
            console.log(`get response body: '${await aclResponse.text()}'`)
    
            let key = '/a/test2/';
            let getResponseFolder = await s3.createFolder(bucket, key);
            console.log(`get status: ${getResponseFolder.status}`)
            console.log(`get response body: '${await getResponseFolder.text()}'`)
    
            //work for regular Object.(so restore object before!)
            let expiration_time_limit = 86400;
            let PublicUrl = s3.getPublicUrl({bucket, key, expiration_time_limit})
            console.log(`Public Url: ${PublicUrl}`)
            
            let getResponse = await s3.getObject(bucket, key);
            console.log(`get status: ${getResponse.status}`)
            console.log(`get response body: '${await getResponse.text()}'`)
    
            let putResponse2 = await s3.glacierObject(bucket, key)
            console.log(`put status: ${putResponse2.status}`)
            console.log(`put response body: '${await putResponse2.text()}'`)
    
            let days = 250;
            let getResponse1 = await s3.restoreObject(bucket, key, days);
            console.log(`get status: ${getResponse1.status}`)
            console.log(`get response body: '${await getResponse1.text()}'`)
    
    
            let delResponse = await s3.deleteObject(bucket, key);
            console.log(`del status: ${delResponse.status}`)
            console.log(`del response body: '${await delResponse.text()}'`)
    
            let region='fr-par';//fr-par nl-ams pl-waw
            let bucketResponse = await s3.createBucket(bucket, region);
            console.log(`create status: ${bucketResponse.status}`)
            console.log(`create response body: '${await bucketResponse.text()}'`)
    
        }
        catch (ex) {
            console.log(ex)
        }
    }());

    License

    MIT license; see LICENSE.

    Install

    npm i scaleway-s3

    DownloadsWeekly Downloads

    2

    Version

    0.0.21

    License

    MIT

    Unpacked Size

    23.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • devorel