寻找node.js模块,该模块为不同的存储提供商提供统一的文件API

寻找node.js模块,该模块为不同的存储提供商提供统一的文件API,node.js,module,amazon-s3,google-drive-api,dropbox-api,Node.js,Module,Amazon S3,Google Drive Api,Dropbox Api,我使用Node.js托管web服务器。服务器将与不同的第三方存储提供商通信,如Box、dropbox、googledrive、amazon s3、skydrive、ftp服务器等。服务器将从存储提供商下载文件或将文件上载到存储提供商 我正在使用OAuth模块来实现授权过程,并获取auth_令牌和auth_密钥。OAuth模块统一了不同服务器的授权接口。OAuth模块封装了OAuth服务器的API,并提供了统一和友好的接口。使用OAuth模块,我不需要在代码中调用OAuth服务器的API。它很好,

我使用Node.js托管web服务器。服务器将与不同的第三方存储提供商通信,如Box、dropbox、googledrive、amazon s3、skydrive、ftp服务器等。服务器将从存储提供商下载文件或将文件上载到存储提供商

我正在使用OAuth模块来实现授权过程,并获取auth_令牌和auth_密钥。OAuth模块统一了不同服务器的授权接口。OAuth模块封装了OAuth服务器的API,并提供了统一和友好的接口。使用OAuth模块,我不需要在代码中调用OAuth服务器的API。它很好,节省了我很多工作

我在从不同的存储提供商下载/上传文件时遇到了一些困难。我必须为每个存储服务器编写不同的实现。例如,调用box APi将文件上载到box,调用s3 APi将文件上载到s3,等等。我想知道是否有一些节点模块封装了存储提供商的所有APi,它的工作方式与授权APi的OAuth模块类似

下面的伪代码表达了我期望这种模块如何工作。我想它的名字是“存储”

var storage = require("storage"); // This is the storage library I'm looking for.


var s3 = storage.s3(s3_aouth_token_and_secret); // The declaration for the s3_aouth_token_and_secret is omitted for simplification.
var box = storage.box(box_aouth_token_and_secret);
var dropbox = storage.dropbox(dropbox_aouth_token_and_secret);


var local_file_name = "./report.docx";
s3.upload(s3_parent_folder_id, local_file_name); // Upload local file to s3
box.upload(box_parent_folder_id, local_file_name); // Upload local file to box

dropbox.upload(dropbox_parent_folder_id, local_file_name); // Upload local file to dropbox



var local_pah = "./downloads/';
s3.download(s3_file_id, local_pah);
box.download(box_file_id, local_pah);

dropbox.download(dropbox_file_id, local_pah);
请让我知道哪个节点模块可以满足我的要求

谢谢

杰弗里

你应该去看看——它正是你想要的。Temboo规范化了API,使它们看起来和感觉都一样。一旦您知道如何通过Temboo与单个存储API通信,您就知道如何与所有存储API通信

Temboo有一个Node.js SDK,您可以了解有关Temboo支持的存储API的更多信息

充分披露:我在Temboo工作,你应该去看看——它正是你想要的。Temboo规范化了API,使它们看起来和感觉都一样。一旦您知道如何通过Temboo与单个存储API通信,您就知道如何与所有存储API通信

Temboo有一个Node.js SDK,您可以了解有关Temboo支持的存储API的更多信息

充分披露:我在Temboo工作