Wondering what’s next for npm?Check out our public roadmap! »

    This package has been deprecated

    Author message:

    This package has moved to @adobe/aio-lib-files and is no longer maintained. Please update the package name to get the latest changes.

    @adobe/adobeio-cna-cloud-storage

    0.1.4 • Public • Published

    Version Downloads/week Build Status License Codecov Coverage

    Adobe I/O CNA Storage SDK

    A JavaScript abstraction on top of cloud blob storages exposing a file-system like API.

    You can initialize the SDK with your Adobe I/O Runtime (a.k.a OpenWhisk) credentials.

    Alternatively, you can bring your own cloud storage keys. Note however, that as of now we only support Azure Blob Storage. AWS S3 is the next on the todo list and will soon be available.

    Install

    npm install @adobe/adobeio-cna-cloud-storage

    Use

      const storageSDK = require('@adobe/adobeio-cna-cloud-storage')
     
      // init
      // init sdk using OpenWhisk credentials
      const storage = await storageSDK.init({ ow: { namespace, auth } })
      // init when env vars __OW_AUTH and __OW_NAMESPACE are set (e.g. when running in an OpenWhisk action)
      const storage = await storageSDK.init()
      // or if you want to use your own storage account
      const storage = await storageSDK.init({ azure: { storageAccount, storageAccessKey, containerName } })
     
      // write private file
      await storage.write('mydir/myfile.txt', 'some private content')
     
      // write publicly accessible file
      await storage.write('public/index.html', '<h1>Hello World!</h1>')
     
      // get file url
      const props = await storage.getProperties('public/index.html')
      props.url
     
      // list all files
      await storage.list('/') // ['mydir/myfile.txt', 'public/index.html']
     
      // read
      const buffer = await storage.read('mydir/myfile.txt')
      buffer.toString() // 'some private content'
     
      // pipe read stream to local file
      const rdStream = await storage.createReadStream('mydir/myfile.txt')
      const stream = rdStream.pipe(fs.createWriteStream('my-local-file.txt'))
      stream.on('finish', () => console.log('done!'))
     
      // write read stream to remote file
      const rdStream = fs.createReadStream('my-local-file.txt')
      await storage.write('my/remote/file.txt', rdStream)
     
      // delete files in 'my/remote/' dir
      await storage.delete('my/remote/')
      // delete all public files
      await storage.delete('public/')
      // delete all files including public
      await storage.delete('/')
     
      // copy
      // upload local directory
      await storage.copy('my-static-app/', 'public/', { localSrc: true })
      // download to local directory
      await storage.copy('public/my-static-app/', 'my-static-app-copy', { localDest: true })
      // copy files around cloud storage
      await storage.copy('public/my-static-app/', 'my/private/folder')

    Explore

    goto API

    Contributing

    Contributions are welcomed! Read the Contributing Guide for more information.

    Licensing

    This project is licensed under the Apache V2 License. See LICENSE for more information.

    Install

    npm i @adobe/adobeio-cna-cloud-storage

    DownloadsWeekly Downloads

    24

    Version

    0.1.4

    License

    Apache-2.0

    Unpacked Size

    179 kB

    Total Files

    25

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar