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.

Dependencies (2)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i scaleway-s3

    Weekly Downloads

    21

    Version

    0.0.21

    License

    MIT

    Unpacked Size

    23.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • devorel