Wednesday 22 August 2018

New library to interact with all cloud storage providers: SMCloudStore

Hi /r/node!Sharing with you SMCloudStore, the latest thing I've been working on. This is a Node.js module to interact with multiple cloud storage providers, including AWS S3, Azure Storage, Backblaze B2, Google Cloud Storage, and Minio (self-hosted S3). I just published version 0.1.0, which is the result of three weeks of work.While SMCloudStore is not the first library out there to provide an abstract interface on top of cloud storage, this has some interesting features:The library itself is very lightweight. Each storage provider is published as a separate module, so you don't need to install the SDKs for dozens of cloud providers just to use one or two! (each SDK can include hundreds of NPM dependencies!)Stream-first approach. While you can also work with strings and Buffers, the library is optimized to upload/download objects as streamsStorage only. I'm not trying to recreate something like libcloud: I'm focusing on storage only to keep things simple. In fact, storage is the most common service used on the cloud, and each provider's APIs are different and incompatible.Modern APIs that support async/await (but code is actually written with Promises to support older versions of Node.js)It's all written in TypeScript (and transpiled to JavaScript), so full typings are available too.Project is on GitHub and released under MIT:https://ift.tt/2w7WVEV, full documentation is available too.

Submitted August 23, 2018 at 02:57AM by ItalyPaleAle

No comments:

Post a Comment