`

Amazon Simple Storage Service(Amazon S3) 之二,通过4个参数

阅读更多
如果通过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/
分享到:
评论

相关推荐

    亚马逊s3-api文档.pdf

    亚马逊S3 API文档是Amazon Simple Storage Service (S3)的官方参考手册,它详细描述了如何使用S3的REST API进行数据的存储和检索。文档中包含了关于如何操作S3的基本概念、使用方法、身份验证以及数据类型等重要信息...

    s3-controller:用于Amazon Simple Storage Service(S3)的ACK服务控制器

    用于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 的主存储

    Amazon Simple Storage Service (S3) 是 Amazon Web Services (AWS) 提供的一种可扩展的云存储服务,它允许用户存储和检索大量数据。在本文档中,我们将讨论如何将 S3 用作 Veritas Enterprise Vault 的主存储,这是...

    使用 Generic Simple__Storage Service (S3) 作为__Enterprise Vault 的主存

    **使用 Generic Simple Storage Service (S3) 作为 Enterprise Vault 主存储** Enterprise Vault 是 Veritas Technologies LLC 开发的一款企业级信息归档解决方案,它允许组织高效地管理大量的电子数据,包括电子...

    亚马逊S3接口文档

    亚马逊S3(Simple Storage Service)是亚马逊网络服务(Amazon Web Services,AWS)提供的一个高度可扩展的对象存储服务,主要用于网络上存储和检索任意大小的数据。本文将根据提供的文件内容,详细解读亚马逊S3接口...

    aws.s3:Amazon Simple Storage Service(S3)API客户端

    Amazon Simple Storage Service(S3)是亚马逊云服务(AWS)提供的一个高度可扩展、可靠且安全的云存储解决方案。aws.s3 R包是为R语言用户设计的一个接口,它允许开发者方便地与Amazon S3进行交互,执行各种操作,...

    如何通过g ++在C ++中使用Amazon Simple Storage Service(S3)

    在C++中利用Amazon Simple Storage Service (S3)进行数据存储和检索,通常需要借助于第三方库或SDK,比如gSOAP。gSOAP是一个强大的开源工具,可以用来处理Web服务,包括那些基于SOAP协议的,如Amazon S3 API。以下是...

    S3对象存储接口文档中文版(亚马逊规则通用)

    11. 本指南的目标受众是熟悉Amazon Simple Storage Service (S3) 概念的C#开发人员,指导他们如何将现有的S3应用程序移植到Cleversafe平台。 12. 针对S3API和CSOAPI之间的功能差异,文档指出了CSOAPI支持S3API功能...

    jets3t:JetS3t(发音为“ jet-set”)是一种免费的开源Java工具箱和应用程序套件,适用于Amazon Simple Storage Service(Amazon S3),Amazon CloudFront内容交付网络和Google Storage for Developers

    JetS3t是免费的开源Java工具箱和应用程序套件,适用于Amazon Simple Storage Service(Amazon S3),Amazon CloudFront内容交付网络和Google Storage for Developers。 有关更多信息,文档以及到讨论列表和其他资源...

    s3lib:用于 Amazon Simple Storage Service 的 Java 和 C 客户端库

    S3Lib 是 Amazon Simple Storage Service 的客户端库。 地位 Java 库 S3Lib-Java 已完成并在积极的生产中使用。 使用 S3Lib-Java 来满足其游戏的后端存储需求。 C 库 C 实现 S3Lib-C 正在进行中。 完成图书馆是在...

    s3-folder-upload:轻松将文件夹上传到Amazon Simple Storage Service(S3)

    s3文件夹上传 一个小脚本,可通过使用官方的Amazon SDK将静态信息上传到S3存储桶。AWS凭证为了使用此模块,您需要具有AWS Credentials。 您可以通过两种方式加载它们: 通过直接传递给方法作为第二个参数。 通过使用...

    Android实现亚马逊S3文件上传

    在Android平台上实现亚马逊S3(Amazon Simple Storage Service)文件上传是一项常见的任务,特别是在移动应用开发中需要存储用户数据或应用程序资源时。以下是一份详细的知识点解析,涵盖了标题和描述中提到的关键点...

    Amazon S3 实现文件上传的api以及样例

    Amazon S3,全称为Amazon Simple Storage Service,是亚马逊云服务提供的一个高度可扩展、安全且持久的云存储解决方案。这个服务允许用户存储和检索任意数量的数据,无论数据规模大小,适用于备份、归档、网站托管等...

    s3fs:使用 Amazon Simple Storage Service (S3) 实现 NodeJS FS 接口

    S3FS 为 Node.JS 提供的文件系统 (FS) 实现提供了直接替代,允许 Node.JS 应用程序通过 Node.JS 使用的众所周知的使用分布式文件系统。 最低 IAM 政策 以下是 AWS Identity and Access Management的策略,它提供了...

    Amazon S3 Api Manual

    Amazon Simple Storage Service (S3) 是一种对象存储服务,旨在为互联网规模的应用程序提供高可用性、高性能以及低成本的数据存储解决方案。本手册主要介绍了如何通过 REST API 来与 Amazon S3 进行交互。 ### 常见...

    Amazon S3 开发指南--中文

    Amazon S3(Simple Storage Service)是亚马逊公司提供的一项云存储服务,旨在为互联网应用程序提供安全、可扩展且高度可用的数据存储。本开发指南是作者对官方文档的中文翻译,尽管可能存在一些翻译上的不准确之处...

    springboot集成amazon aws s3对象存储sdk(javav2)

    而Amazon S3(Simple Storage Service)是AWS提供的一个云存储服务,用于存储和检索任何数量的数据,无论何时何地。本篇文章将深入探讨如何在SpringBoot项目中集成AWS S3 SDK(Java V2版本),实现对象的分页列表、...

Global site tag (gtag.js) - Google Analytics