是否存在任何API /库/工具作为适配器/提供者接口,通过通用接口访问不同的云存储服务?类似于ODBC或OLE-DB的东西,除了云存储而不是数据库.
这样,如果我写了一个用于记笔记的前端,并且我使用了这样的API,并且让用户为他们拥有帐户的云存储提供商提供配置,那么API库将处理我的cloud.Save()调用的翻译进入特定于使用提供者的命令.这将允许我的前端应用程序与云存储提供程序无关.
所以也许我写了一些镀铬扩展或便携式拇指驱动器应用程序来存储笔记,或加密和存储密码,或者其他一些,你告诉它你有一个帐户的云存储提供商,并使用它进行同步.这样,您使用该工具不会将您绑定到特定的云提供商.只要您备份数据,就可以迁移到其他提供商,只要您对该提供商不满意或者他们破产就重新配置应用程序.
例如,WebDAV是一个潜在的候选者,因为它似乎有些存储服务提供它,但这并不是我想到的,因为它依赖于存储提供商提供的选项.我也不太了解WebDAV,知道它是否真的会以我想象的能力服务.但随意发表评论/讨论的优点/缺点选项.
我更想象的是每个云提供商外部的中间层.当然,由于每个提供程序提供了与文件交互的不同Web服务,因此中间层将为每个后端提供适配器.但是在前端,它会暴露出与提供者无关的通用API.
这种类型的任何东西都存在吗?
即使只是一个允许您在任何提供程序中存储文件的开源GUI,这意味着在其源代码中存在这样一个中间层的开头.我认为有人已经制作了一个工具,可以帮助您统一从各种服务中获得的所有免费GB.为云提供JBOD层的排序(虽然这不是本文的目标,但是这样一个工具访问许多不同的服务意味着它有一个中间层的开头,用于标准化对它们的访问).
我的主要兴趣在于个人云存储服务的抽象,适用于个人使用的应用程序,将存储控制权交给个人,以便他们可以自由地在个人云存储服务之间移动.到目前为止,我发现它似乎更倾向于CDN,网站或服务.
请根据建议单独发布帖子,以便针对该建议进行投票和评论/讨论.
有一堆基于托管云的托管服务用于nodejs ,这些服务看起来相对较新,有些还处于测试阶段.
托管nodejs应用程序的另一个途径是在像Linode这样的VPS上设置堆栈.
我想知道这两种部署之间的基本区别是什么.在选择一个因素时应该考虑哪些因素?
考虑到这些服务的年轻程度,哪一个更适合生产.
要明确我不是要求选择提供商,而是要决定是在托管节点上托管特定托管还是在老式自我设置VPS上托管.
我有一个Android应用程序,我正在考虑移植到Delphi,但我看不到与GCM接口的方法.我想我可能要在java中运行GCMBaseIntentService并与delphi共享对象接口?
或者,我正在寻找一种在Delphi Xe5 Android应用程序中进行推送通知的方法.
很多时候,我们的DevOps人员创建了一个包含错误URL的Azure WebApp.
这迫使我们删除资源组(作为组包含web应用程序,sql azure等)并重新创建.
有没有办法通过powershell Azure API或一些隐藏的azure门户功能重新命名/更新Web App URL?
我正在编写一个托管云堆栈(在EC2等硬件级云提供商之上),我将很快面临的一个问题是:
几个相同的节点如何决定哪一个成为主节点?(即想想在EC2上运行5台服务器.其中一台服务器必须成为主服务器,其他服务器必须成为服务器.)
我阅读了MongoDB使用的算法的描述,它看起来相当复杂,并且还取决于投票的概念 - 即单独留下的两个节点将无法做出任何决定.他们的方法在产生结果之前也有很长的延迟.
我想知道是否有任何不那么复杂的KISS-embrasing方法?它们被广泛使用,还是有风险采用?
假设我们已经有一个服务器列表.然后我们可以选择一个正在运行且具有数字最小的IP地址的那个.这种方法的缺点是什么?
为什么MongoDB的算法如此复杂?
这是如何选择群集中的新主人的副本?这提供了更少的细节,并且在6个月内没有得到回答,所以我觉得开始一个新问题是合适的.
(我正在开发的堆栈是开源的,但是它处于开发的早期阶段,所以不在这里提供链接.)
更新:基于答案,我设计了一个简单的一致性算法,你可以在GitHub上找到一个JavaScript(CoffeeScript)实现:majority.js.
我想写一个Python脚本,它将使用他们的url从s3读取和写入文件,例如:'s3:/ mybucket/file'.它需要在本地和云中运行而不需要任何代码更改.有没有办法做到这一点?
编辑:这里有一些很好的建议,但我真正想要的是允许我这样做的东西:
myfile = open("s3://mybucket/file", "r")
Run Code Online (Sandbox Code Playgroud)
然后像任何其他文件对象一样使用该文件对象.那真的很酷.如果它不存在,我可能会为自己写这样的东西.我可以在simples3或boto上构建那个抽象层.
我的开发者控制台中有两个项目.我拍摄了项目1中其中一个虚拟机的"快照".我想使用在project-1中创建的快照在project-2中创建一个新VM.目前,快照未显示在选项中.如何将快照从一个项目导入另一个项目?
我尝试了很多很多不同的配置,文件,编码,浏览器等等,但这是演示我遇到的问题的最简单的例子.
如果在FF 8.0.1中粘贴JSPlayer的示例视频的URL,则视频将内联播放:
http://video-js.zencoder.com/oceans-clip.webm
如果我拍摄相同的视频并将其上传到我的s3存储桶,则会触发下载:
https://s3.amazonaws.com/turingvideos/oceans-clip.webm - 或 - http
(读取文件和存储桶中每个人的权限)
那么,让我们试试Cloud Front.
d2yat6m71lu23b dot cloudfront dot net slash oceans-clip.webm(下载触发器)
和云前端流媒体:
strzsu4h2ax96 dot cloudfront dot net slash oceans-clip.webm(无限微调器)
使用html视频标签时也会发生相同的基本情况.从zencoder工作正常,除了本地磁盘读取以外的其他任何东西.
那么,zencoder管理的魔力是什么,完全超出了我对S3/CloudFront的影响?我完全难过了.
编辑:
将内容类型和处置设置为"video/webm"和"inline"就可以了.谢谢你的快速反应.
在创建ec2实例时,我们提供密钥对名称.
但通常,我将多个ssh公钥/私钥与任何远程服务器关联.我知道一旦创建了ec2服务器,就无法附加密钥对.所以我想知道在创建实例时是否可以使用多个密钥对.