中国IDC圈9月1日报道:尽管云计算这一术语并不新鲜(Amazon在2006年就开始提供它的云服务),但从2008年起它才开始真正成为流行词,这期间,Google和 Amazon的云服务逐渐获得了公众的关注。 Google的App Engine使用户能够在Google基础设施上构建和托管 Web 应用程序。

连同S3,AmazonWeb Services还包括Elastic Cloud Compute (EC2)计算Web服务,该服务可以在Amazon的基础设施上托管应用程序。其他公司也开始蠢蠢欲动,准备与Amazon和Google一决高下,其中就包括 Microsoft?的 Azure,甚至 Sun Microsystems(其云计算还没有正式推向市场)也想分一杯羹。例如IBM最近宣布,它将提供某些产品供开发人员在AmazonEC2 环境中使用。

AmazonSimple Storage Service (S3)是一个公开的服务,Web应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。S3提供一个 RESTful API以编程方式实现与该服务的交互。通过本文,您将了解如何使用开源的JetS3t库利用Amazon的S3云服务存储和检索数据。

面向开源的S3云平台介绍

云是一个抽象的概念,表示松散连接在一起的计算机组,这些计算机共同执行某项任务或者服务,就像是使用一个单独的实体完成一样。此概念背后的架构也很抽象:每个云提供者都可以根据各自情况随意设计它的产品。软件即服务(Software as a Service,SaaS)是一个与云相关的概念,表示云向用户提供某种服务。云模型可以降低用户成本,因为他们无需购买软件和硬件也可以运行 — 服务提供者已经为用户提供了必要的组件。

以Amazon的S3产品为例。顾名思义,这是一个公开的服务,使 Web 开发人员能够存储数字资产(如图片、视频、音乐和文档等),以便在应用程序中使用。使用S3时,它就像一个位于 Internet 的机器,有一个包含数字资产的硬盘驱动。实际上,它涉及到许多机器(位于各个地理位置),其中包含数字资产(或者数字资产的某些部分)。Amazon还处理所有复杂的服务请求,可以存储数据并检索数据。您只需要付少量的费用(大约每月 15 美分 /GB)就可以在Amazon的服务器上存储数据,1 美元即可通过Amazon服务器传输数据。

Amazon的S3服务没有重复开发,它公开了RESTful API,使您能够使用任何支持 HTTP 通信的语言访问S3. JetS3t项目是一个开源Java库,可以抽象出使用S3的RESTful API的细节,将API公开为常见的Java方法和类。编写的代码越少越好,难道不是吗?充分利用其他人的成果也是不错的。在本文中您将看到,JetS3t使S3和Java语言的工作变得更加简单,从根本上提高了效率。

S3开源应用模式介绍

理论上,S3是一个全球存储区域网络(SAN),它表现为一个超大的硬盘,您可以在其中存储和检索数字资产。但是,从技术上讲,Amazon的架构有一些不同。您通过S3存储和检索的资产被称为对象。对象存储在存储段(bucket)中。您可以用硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform Resource Identifier,URI)查找。

例如,在我的硬盘中,我有一个名为 whitepaper.pdf 的文件,它位于主目录中名为 documents 的文件夹中。相应的,该pdf文件的URI为/home/aglover/documents/whitepaper.pdf .在S3中,URI有一点不同。首先,存储段只能是顶级的 — 无法像嵌套硬盘中的文件夹(或目录)一样进行嵌套。其次,存储段必须遵循 Internet 命名法则;句点旁边没有斜杠,名称不包括下划线等等。最后,由于存储段名称已经是Amazon域内的 (s3.amazonaws.com) 公共URI的一部分,存储段名称必须在所有S3中是惟一的。(好消息是每个帐户只能包含 100 个存储段,因此不用担心别人占用了所有的好名字)。

存储段在S3中是URI的根。也就是说,存储段的名称将是指向S3中某个对象的URI的一部分。例如,如果我有一个名为 agdocs 的存储段以及一个名为 whitepaper.pdf 的对象,URI将是:http://agdocs.s3.amazonaws.com/whitepaper.pdf .

S3还提供了指定存储段和对象的所有者和权限的能力,就像对待硬件的文件和文件夹一样。在S3中定义对象或存储段时,您可以指定一个访问控制策略,注明谁可以访问您的S3资产以及如何访问(例如,读和写权限)。相应地,您可以通过许多方式提供对您的对象的访问,使用RESTful API只是其中一种。

这里Amazon有一个神奇的DNS魔术,用户不用担心S3资产的 URL .通过 Domain Name System (DNS) 和 CNAME(canonical name的缩写)记录,您可以将自定义程度更高的 URL 映射到S3的 URL .这样一来,您就隐藏了您(或您的应用程序)依赖S3的事实!

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排 行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2019-07-30 14:50:41
云技术 Oculus宣布为Rift和Quest提供云存储功能
Oculus 商店的 SDK 已支持 Oculus Quest 、 Oculus Go 和三星 Gear VR 的云存储功能。 <详情>
2019-07-29 11:44:37
云技术 企业公共云存储部署仍处于早期阶段
多年来,企业对公共云存储的使用一直在稳步增长,但仍有很多IT部门处于该旅程的早期阶段。 <详情>
2019-07-17 11:24:16
云技术 云存储的5个优点
在考虑迁移到云端或多云存储环境时,数据存储管理员应该考虑云存储的优势。例如,传统的数据存储系统对容量有限制,而云存储服务提供前所未有的可扩展性。此外,云存储使管 <详情>
2019-07-16 16:17:46
云资讯 IBM发布多项存储创新 应对AI与混合多云负载
近日,IBM宣布了一系列创新举措。这些举措旨在帮助客户通过AI和数据分析,从更多不同来源与类型迥异的数据中获取更加深入的洞察力;使客户通过IBM广受业界赞誉的对象存储, <详情>
2019-07-11 18:33:02
云资讯 通过3个步骤实现安全的云存储
企业可以使用云计算供应商为其提供额外的工具来保护数据,但仍有来自用户端的工作要做。 <详情>