27

是否存在任何用作适配器/提供者接口的 API/库/工具,用于通过通用接口访问不同的云存储服务?类似于 ODBC 或 OLE-DB 的东西,除了云存储而不是数据库。

这样,如果我编写了一个用于记笔记的前端,并且我使用了这样的 API,并让用户提供他们拥有帐户的云存储提供商的配置,那么 API 库将处理我的 cloud.Save() 调用使用特定于提供者的命令。这将允许我的前端应用程序与云存储提供商无关。

因此,也许我编写了一些 chrome 扩展程序或便携式拇指驱动器应用程序来存储笔记,或加密和存储密码等,然后你告诉它你有哪个云存储提供商的帐户,它使用它来同步。这样,您对该工具的使用不会将您与特定的云提供商联系在一起。只要您备份数据,您就可以迁移到另一个提供商,如果您对该提供商不满意或他们破产,您只需重新配置应用程序即可。

例如,WebDAV 是一个潜在的候选者,因为似乎一些存储服务提供了它,但这并不是我的想法,因为它取决于存储提供商是否提供它作为选项。我对 WebDAV 的了解也不够多,不知道它是否真的能发挥我想象的能力。但请随时将其作为一个选项发布,并附上优点/缺点以供评论/讨论。

我更想象的是每个云提供商外部的中间层。当然,由于每个提供者都提供不同的 Web 服务来与文件交互,因此中间层将为每个后端提供适配器。但在前端,它将公开一个与提供者无关的通用 API。

这种类型的东西存在吗?

即使只是一个允许您将文件存储在任何提供程序中的开源 GUI,这也意味着在其源代码中存在这样一个中间层的开始。我认为有人已经制作了一个工具,可以帮助您统一您可以从各种服务中获得的所有免费 GB。有点像云的 JBOD 层(尽管这不是本文的目标,关键是这样一个工具可以访问许多不同的服务,这意味着它已经开始了一个中间层来标准化对它们的访问)。

不过,我的主要兴趣是个人云存储服务的抽象,这将适用于个人使用的应用程序,将存储控制权交到个人手中,以便他们可以自由地在个人云存储服务之间移动。到目前为止,我发现的似乎更面向 CDN、网站或服务。

请为每个建议单独发布帖子,以便可以针对该建议进行投票和评论/讨论。

4

8 回答 8

12

Kloudless为几种不同的云存储 API(Dropbox、Box、GDrive、OneDrive 等)提供了一个通用 API。Kloudless 还提供流行语言的 SDK 和 UI 小部件来处理身份验证和其他用户交互。

您可以在此处找到更多信息并注册:https ://kloudless.com/

披露:我在 Kloudless 工作。

于 2014-05-15T07:19:30.697 回答
8

Apache jclouds 提供了与云无关的抽象,具有 ComputeService 和 BlobStore 的稳定实现。

访问https://jclouds.apache.org/

Apache jclouds® 是适用于 Java 平台的开源多云工具包,让您可以自由地创建可跨云移植的应用程序,同时让您可以完全控制使用特定于云的功能。

于 2012-09-12T22:59:38.387 回答
6

Apache Libcloud:“云的统一接口”

http://libcloud.apache.org/

于 2012-09-12T23:00:36.560 回答
3

几个月前,我对个人云存储聚合器服务和应用程序进行了调查。一个似乎与您的问题有关。

Oxtio是一项连接多个云存储服务的服务,并包括一个用于访问其自己的服务的 WebDAV 服务。

于 2012-11-13T19:28:03.567 回答
2

每个云存储提供商都有不同的细节,这使得很难为所有(甚至部分)使用一个接口。我们的 SecureBlackbox 产品的CloudBlackbox包为主要存储提供商(S3、Azure、Google Drive、SkyDrive/OneDrive、Dropbox)提供了一个统一的接口,重点是数据的安全性,但由于提到的细节,我们有单独的类(一个超类的后代) 为每个供应商服务。SecureBlackbox 可用于 .NET、Java、Windows 和 Delphi 上的 C++。

于 2012-09-13T04:52:41.833 回答
1

查看 Boto,这是一个备受推崇的 Python 库,它在 Amazon 的 S3 和 Google Cloud Storage 之上提供了一个抽象层。

https://github.com/boto/boto

于 2012-09-25T02:25:59.990 回答
1

-StorageMadeEasy (SME)
-Otixo (But they do not offer FREE tier anymore since Feb 2013)
-Joukuu
-Gladinet
-Egistec CloudHub
...

All of above allows you to connect several cloud storages, but they do not actually combine it.

If you wan to combine several personal cloud storages, you need to make it yourself, which is what I am doing for the past few months.

So far I have combined several clouds (Dropbox, Box, Google Drive, Skydrive) using their Android API/SDK, then I process the data splitting/merging/compression/encryption inside my Android application (not a good choice, just for the sake of prototype)

In the future, maybe I will add more providers that has an API, such as Amazon S3, SugarSync, but right now there is lack of manpower.

If you just want to connect multiple clouds on Android (not combining), then you can try ES File Explorer or ASTRO File Manager, and several other applications

于 2013-02-27T07:23:06.857 回答
1

我认为 webdav 是终极协议:

webdav->dropdav->dropbox
webdav->box.net
webdav->DAV-pocket->google drive
webdav->Otixo(free for 14 days)->SugarSync
于 2013-04-08T09:16:02.250 回答