如果通过web访问S3服务来获取数据(Object),则分页、搜索等功能是比不可少的。而S3提供的4个参数,可以让我们方便快捷的将数据取出来,这4个参数是基于key操作的。key的概念参见文章一。
1、prefix。比如http://bucket.s3.amazonaws.com/?prefix=123,则将key中以123开头的列出来。
2、delimiter。比如http://bucket.s3.amazonaws.com/?delimiter=/,此时,S3可能会返回CommonPrefixes,将key中采用“/”分隔的列出来。
<Contents>
<Key>123/zzz.txt</Key>
<LastModified>2007-12-11T07:41:51.000Z</LastModified>
<ETag>"d725dfc2167445d1db23067de33ebd28"</ETag>
<Size>203</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
<Contents>
<Key>abc/ooo/yxx.txt</Key>
<LastModified>2007-12-12T05:34:35.000Z</LastModified>
<ETag>"4fdf8a4dd42bd4d24855eebd5c9b9434"</ETag>
<Size>41</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
用了“delimiter=/”返回,告诉你 有prefix为123/和abc/可用。
<CommonPrefixes>
<Prefix>123/</Prefix>
</CommonPrefixes>
<CommonPrefixes>
<Prefix>abc/</Prefix>
</CommonPrefixes>
这时输入http://bucket.s3.amazonaws.com/?delimiter=/&prefix=123/则将prefix中有123/的全部列出来。
如果key有这样的形式:ms_vb_5_src/sss.frm,ms_vb_6_src/ddd.frm,你可以把delimiter设为“_”来取数据。通过不同的delimiter和prefix可以非常灵活的获取数据。
如果数据量很大,则可以用第三个和第四个参数
3、MaxKeys。这个告诉S3一次性返回多少数据,默认返回1000个。URL输入http://bucket.s3.amazonaws.com/?delimiter=/&prefix=123/&max-keys=10,则返回:
<Name>bucket</Name>
<Prefix>123/</Prefix>
<Marker />
<NextMarker>123/10.txt</NextMarker>
<MaxKeys>10</MaxKeys>
<Delimiter>/</Delimiter>
<IsTruncated>true</IsTruncated>
<Contents>
<Key>123/1.txt</Key>
<LastModified>2007-12-12T06:02:33.000Z</LastModified>
<ETag>"9dd4e461268c8034f5c8564e155c67a6"</ETag>
<Size>1</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
里面IsTruncated为true,表示按照delimiter和prefix和max-keys取出的数据不止10个;余下的数据怎么取?就用到了NextMarker元素中数据。
4、Marker。 URL输入http://bucket.s3.amazonaws.com/?delimiter=/&prefix=123/&max -keys=10&marker=123/10.txt,marker的值就是NextMarker元素中数据。这样S3就返回了下10条数据。
<Name>bucket</Name>
<Prefix>123/</Prefix>
<Marker>123/10.txt</Marker>
<NextMarker>123/19.txt</NextMarker>
<MaxKeys>10</MaxKeys>
<Delimiter>/</Delimiter>
<IsTruncated>true</IsTruncated>
<Contents>
<Key>123/1.txt</Key>
<LastModified>2007-12-12T06:02:33.000Z</LastModified>
<ETag>"9dd4e461268c8034f5c8564e155c67a6"</ETag>
<Size>1</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
如果IsTruncated仍为true,则表示还有数据,我们把marker改为marker=123/19.txt便可以继续取下10条数据;如果IsTruncated为false,则表示按照条件已经将数据全部取出来了。
S3文档中,提供更为详细的解释。点击查看:http://docs.amazonwebservices.com/AmazonS3/2006-03-01/
分享到:
相关推荐
Amazon Simple Storage Service(Amazon S3)是一种面向 Internet 的存储服务。该服务旨在降低 网络规模计算的难度。 Amazon S3 提供一个简明的 Web 服务界面,用户可通过它随时在 Web 上的任何位置存储和检索任意 ...
aws.s3:Amazon Simple Storage Service(S3)API客户端
用于Amazon Simple Storage Service(S3)的ACK服务控制器该存储库包含适用于Amazon Simple Storage Service(S3)的AWS Kubernetes控制器(ACK)服务控制器的源代码。 请在主要的AWS Controllers for Kubernetes ...
使用 Amazon Simple__Storage Service (S3) 作为__Enterprise Vault 的主存储__14.0 or later-25.pdf
Amazon Simple Storage Service 文档。提供了 Amazon S3 的概念性介绍,以及使用各种功能的详细说明。
JetS3t是免费的开源Java工具箱和应用程序套件,适用于Amazon Simple Storage Service(Amazon S3),Amazon CloudFront内容交付网络和Google Storage for Developers。 有关更多信息,文档以及到讨论列表和其他资源...
S3Lib 是 Amazon Simple Storage Service 的客户端库。 地位 Java 库 S3Lib-Java 已完成并在积极的生产中使用。 使用 S3Lib-Java 来满足其游戏的后端存储需求。 C 库 C 实现 S3Lib-C 正在进行中。 完成图书馆是在...
s3文件夹上传 一个小脚本,可通过使用官方的Amazon SDK将静态信息上传到S3存储桶。AWS凭证为了使用此模块,您需要具有AWS Credentials。 您可以通过两种方式加载它们: 通过直接传递给方法作为第二个参数。 通过使用...
Over 30 hands-on recipes that will get you up and running with Amazon Simple Storage Service (S3) efficiently About This Book Learn how to store, manage, and access your data with AWS SDKs Study the ...
S3FS 为 Node.JS 提供的文件系统 (FS) 实现提供了直接替代,允许 Node.JS 应用程序通过 Node.JS 使用的众所周知的使用分布式文件系统。 最低 IAM 政策 以下是 AWS Identity and Access Management的策略,它提供了...
如何使用gSOAP连接到Amazon S3以存储和检索数据
这个新工具是基于Adobe Flex和AIR平台建立的,并且利用Amazon简单存储服务(Amazon Simple Storage Service,S3)对历史市场数据进行持久化。S3和AIR的组合的部署模型很强大,并且只需要很少的内部基础设施的支持。AIR...
Amazon Simple Storage Service API Reference 2006-3-1
亚马逊快手训练之 Amazon Simple Storage Service (S3),希望对需要它的同学有所帮助。
用于Amazon Simple Storage Service(S3)的S3cmd工具作者:Michal Ludvig,[受电子邮件保护]项目主页(c)TGRMN软件和贡献者S3tools / S3cmd邮件列表:新版本的公告:s3tools-用于Amazon Simple Storage Service的...
Jeff Barr是亚马逊(Amazon)的云计算战略师,在该主题中,他将和与会者分享亚马逊企业级Web Services路线图,比如亚马逊的 EC2(Elastic Compute Cloud),S3(Simple Storage Service)和 SQS(Simple Queue ...
MinIO Java SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service. MinIO Java SDK是简单存储服务(又称S3)的客户端,...
适用于Amazon Simple Storage Service(S3)的S3cmd工具 作者:Michal Ludvig,(c) 和贡献者S3tools / S3cmd邮件列表: 新版本公告: 一般问题和讨论: 错误报告: S3cmd需要Python 2.6或更高版本。 从S3cmd版本2...
删除文件-开源-文件图标-活动开发和快速Amazon Simple Storage Service(S3)-云存储-AWS Amazon Simple Storage Service(Amazon S3)是具有简单Web服务界面的对象存储,用于存储和检索任意数量的数据从网络上的...
最低功能(任何人都可以使用,而不仅仅是管理员使用)-支持多区域S3存储桶-使用AWS JS SDK-搜索(前缀)|创建文件夹|删除文件-开源-文件图标-活动开发和快速Amazon Simple Storage Service(S3)-云存储-AWS Amazon ...