更新时间:2025-12-04 GMT+08:00
分享

列举桶内对象

功能说明

列举桶内对象,默认返回最大1000个对象。

方法定义

1. ObsClient->listObjects(array $parameter)
2. ObsClient->listObjectsAsync(array $parameter, callable $callback)

请求参数

字段名

类型

约束

说明

Bucket

string

必选

桶名。

Prefix

string

可选

限定返回的对象名必须带有Prefix前缀。

Marker

string

可选

列举对象的起始位置,返回的对象列表将是对象名按照字典序排序后该参数以后的所有对象。

MaxKeys

integer

可选

列举对象的最大数目,取值范围为1~1000,当超出范围时,按照默认的1000进行处理。

Delimiter

string

可选

用于对对象名进行分组的字符。对于对象名中包含Delimiter的对象,其对象名(如果请求中指定了Prefix,则此处的对象名需要去掉Prefix)中从首字符至第一个Delimiter之间的字符串将作为一个分组并作为CommonPrefix返回。

返回结果

字段名

类型

说明

HttpStatusCode

integer

HTTP状态码。

Reason

string

HTTP文本描述。

RequestId

string

OBS服务端返回的请求ID。

Location

string

桶的区域位置。

Name

string

桶名。

Delimiter

string

用于对对象名进行分组的字符,与请求中的该参数对应。

IsTruncated

boolean

表明本次请求是否返回了全部结果,“true”表示没有返回全部结果;“false”表示已返回了全部结果。

Prefix

string

对象名的前缀,与请求中的该参数对应。

Marker

string

列举对象的起始位置,与请求中的该参数对应。

NextMarker

string

下次列举对象时请求的起始位置。

MaxKeys

integer

列举对象的最大数目,与请求中的该参数对应。

Contents

indexed array

对象列表。

-

ETag

string

对象的MD5值(当对象是服务端加密的对象时,ETag值不是对象的MD5值)。

Size

integer

对象的字节数。

Key

string

对象名。

LastModified

string

对象最近一次被修改的时间。

Owner

associative array

对象的所有者。

-

ID

string

对象所有者的DomainId。

-

StorageClass

string

对象的存储类型。

CommonPrefixes

indexed array

当请求中设置了Delimiter分组字符时,返回按Delimiter分组后的对象名称前缀列表。

-

Prefix

string

按Delimiter分组后的对象名称前缀。

代码样例

try{
       $resp = $obsClient -> listObjects([
              'Bucket' => 'bucketname',
              'Prefix' => 'prefix',
              'MaxKeys' => 100
       ]);
       printf("RequestId:%s\n", $resp['RequestId']);
       foreach ($resp['Contents'] as $index => $content){
              printf("Contents[%d]\n", $index + 1);
              printf("ETag:%s\n", $content['ETag']);
              printf("Size:%s\n", $content['Size']);
              printf("StorageClass:%s\n", $content['StorageClass']);
              printf("Key:%s\n", $content['Key']);
              printf("LastModified:%s\n", $content['LastModified']);
              printf("Owner[ID]:%s\n", $content['Owner']['ID']);
       }
}catch (Obs\Common\ObsException $obsException){
       printf("ExceptionCode:%s\n", $obsException->getExceptionCode());              
       printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());
}

相关文档