上云无忧 > 文档中心 > 天翼云对象存储(OOS经典版)I型HTTP REST接口GET Bucket (List Objects)
对象存储
天翼云对象存储(OOS经典版)I型HTTP REST接口GET Bucket (List Objects)

文档简介:
此操作用来返回Bucket中部分或者全部(最多1000)的Object信息。用户可以在请求元素中设置选择条件来获取Bucket中的Object的子集。 只有根用户和拥有GET Bucket权限的子用户才能执行此操作。 请求语法 GET / HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn Date: date Authorization: signatureValue
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

GET Bucket (List Objects)


此操作用来返回Bucket中部分或者全部(最多1000)的Object信息。用户可以在请求元素中设置选择条件来获取Bucket中的Object的子集。

只有根用户和拥有GET Bucket权限的子用户才能执行此操作。

请求语法

GET   / HTTP/1.1

Host: BucketName.oos-cn.ctyunapi.cn

Date:   date

Authorization:   signatureValue

 

请求参数

名称

描述

是否必须

delimiter

分隔符,是用来对关键字们进行分组的字符。所有的关键字都包含delimiter和prefix间的相同子串,prefix之后第一个遇到delimiter的字符串都会加到一个叫CommonPrefix的组中。如果没有特别定义prefix,所有的关键字都会被返回,但不会有CommonPrefix。delimiter只支持”/”,不支持其他分隔符。

marker

指明在bucket中list   object的起始位置,Amazon S3中list object按照阿拉伯字母顺序。

max-keys

设置返回结果中最多显示的数量,如果查询结果超过最大数量,另一个变量是否翻页会标记为true<IsTruncated>True<IsTruncated>,用来返回剩余的查询结果。

prefix

前缀用来限制返回的结果必须以这个前缀开始,可以通过前缀将bucket分为若干个组。

返回元素

名称

描述

Contents

每个Object返回的元数据。

CommonPrefixes

当定义delimiter之后,返回结果中会包含CommonPrefixes,CommonPrefix中包含以prefix开头,delimiter结束的左右字符串组合,比如prefix是note/,同时delimiter是斜杠(/),结果中的note/summer/july将返回note/summer/,其余结果将按照maxkey要求返回。

Delimiter

将prefix和第一次出现delimiter的所有查询结果滚动的存入CommonPrefix组中。

DisplayName

Object的所有者显示名称。

ETag

通过MD5的方式计算出标签,ETag主要用来反映对象内容的信息发生了改变,并不反映元数据的变化

ID

对象所属账户ID。

IsTruncated

通过是(True)或否(false)来表示返回的结果是否为所有要求的结果。

Key

对象的关键字。

LastModified

记录的对象最后一次被修改的日期和时间。

Marker

标记从哪个位置开始罗列出bucket中的object。

Name

Bucket的名称。

Owner

Bucket所属的根用户

Prefix

关键字以特定的前缀开始。

Size

记录对象object的大小。

StorageClass

存储类型:

STANDARD:标准存储;

STANDARD_IA:低频访问存储;

REDUCED_REDUNDANCY:低冗余存储。

NextMarker

若IsTruncated返回true,用户可以将NextMarker的值设置为下次请求中的marker参数,以便获取后续对象。

请求示例

GET / HTTP/1.1

Host: BucketName.oos-cn.ctyunapi.cn

Date: Mon, 03Sep 2012 17:50:00 GMT

Authorization: AWS   7799e793ce4624ee7e5a:xQE0diMbLRepdf3YB+FIEXAMPLE=

Content-Type: text/plain

 

返回示例

<?xml   version="1.0" encoding="UTF-8"?>

<ListBucketResult   xmlns="/doc/2006-03-01/">

<Name>bucket</Name>

<Prefix/>

<Marker/>

<MaxKeys>1000</MaxKeys>

<IsTruncated>false</IsTruncated>

<Contents>

<Key>my-image.jpg</Key>

<LastModified>2012-09-03T17:50:30.000Z</LastModified>

<ETag>&quot;fba9dede5f27731c9771645a39863328&quot;</ETag>

<Size>434234</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>

<DisplayName>yourmail@mail.com</DisplayName>

    <Owner>

       <ID></ID>

       <DisplayName></DisplayName>

    </Owner>

  </Contents>

</ListBucketResult> 

使用请求变量的示例:

假设数据库中存储数据如下所示:

doc/Sample.pdf

doc/Ant/sample.doc

doc/Feb/sample2.doc

doc/Feb/sample3.doc

doc/Feb/sample4.doc

要查询prefix为doc/,delimiter为/,同时marker为doc/F,max-keys为40的结果,请求头为

GET   /?prefix=doc/&marker=doc/F&max-keys=40&delimiter=/   HTTP/1.1

Host: doc.oos-cn.ctyunapi.cn

Date:   Mon, 03 Sep 2012 12:00:00 GMT

Authorization:   AWS   7799e793ce4624ee7e5a:xQE0diMbLRepdf3YB+FIEXAMPLE=

返回的结果集为

<ListBucketResult   xmlns="/doc/2012-09-03/">

<Name>doc</Name>

<Prefix>doc/</Prefix>

<Marker>doc/F</Marker>

<MaxKeys>40</MaxKeys>

<Delimiter>/</Delimiter>

<IsTruncated>false</IsTruncated>

<Contents>

<Key>sample.pdf</Key>

<LastModified>2012-09-01T01:56:20.000Z</LastModified>

<ETag>&quot;bf1d737a4d46a19f3bced6905cc8b902&quot;</ETag>

<Size>142863</Size>

<Owner>

<ID>canonical-user-id</ID>

<DisplayName>display-name</DisplayName>

</Owner>

<StorageClass>STANDARD</StorageClass>

</Contents>

<CommonPrefixes>

<Prefix>Feb/</Prefix>

<Prefix>Ant/</Prefix>

</CommonPrefixes>

</ListBucketResult>

相似文档
  • 此操作用来删除Bucket,但要求被删除Bucket中无Object,即该Bucket中的所有Object都已被删除。 请求语法 DELETE / HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn Date: date Authorization: signatureValue
  • 在PUT操作的url中加上Policy,可以进行添加或修改Policy的操作。如果bucket已经存在了Policy,此操作会替换原有Policy。只有根用户和拥有PUT Bucket Policy权限的用户才能执行此操作,否则会返回403AccessDenied错误。 请求语法 PUT /?policy HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn Date: date Authorization: signatureValue Policy written in JSON
  • 在GET操作的url中加上policy,可以获得指定Bucket的Policy。只有根用户和拥有GET Bucket Policy权限的子用户才能执行此操作,否则会返回403 AccessDenied错误。如果Bucket没有Policy,返回404,NoSuchPolicy错误。 请求语法 GET /?policy HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn Date: date Authorization: signatureValue
  • 在DELETE操作的url中加上Policy,可以删除指定Bucket的Policy。只有根用户和拥有DELETE Bucket Policy权限的子用户才能执行此操作,否则会返回403 AccessDenied错误。 l 如果Bucket配置了Policy,删除成功,返回200 0K。 l 如果Bucket没有配置Policy,返回204 NoContent。
  • 在PUT操作的url中加上website,可以设置website配置。如果Bucket已经存在了website,此操作会替换原有website。只有根用户和拥有PUT Bucket WebSite权限的子用户才能执行此操作,否则会返回403 AccessDenied错误。 WebSite功能可以让用户将静态网站存放到OOS上。对于已经设置了WebSite的Bucket,当用户访问http://bucketName.oos-website-cn.oos-cn.ctyunapi.cn时,会跳转到用户指定的主页,当出现4XX错误时,会跳转到用户指定的出错页面。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部