简介
本文档提供关于列出对象操作相关的 API 概览以及 SDK 示例代码。
查询对象列表
功能说明
查询指定存储桶中所有的对象(List Objects)。
方法原型
public Guzzle\Service\Resource\Model listObjects(array $args = array());
请求示例
示例一:查询指定前缀、指定开始对象的对象列表
<?php
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID";
$secretKey = "SECRETKEY";
$region = "ap-beijing";
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https',
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
$result = $cosClient->listObjects(array(
'Bucket' => 'examplebucket-125000000',
'Delimiter' => '/',
'EncodingType' => 'url',
'Marker' => 'prefix/picture.jpg',
'Prefix' => 'prfix/',
'MaxKeys' => 1000,
));
print_r($result);
} catch (\Exception $e) {
echo($e);
}
参数说明
参数名称 |
类型 |
描述 |
是否必填 |
Bucket |
String |
存储桶名称,格式:BucketName-APPID |
是 |
Delimiter |
String |
默认为空,设置分隔符,例如设置/ 来模拟文件夹 |
否 |
EncodingType |
String |
默认不编码,规定返回值的编码方式,可选值:url |
否 |
Marker |
String |
默认以 UTF-8 二进制顺序列出条目,标记返回 objects 的 list 的起点位置 |
否 |
Prefix |
String |
默认为空,对 object 的 key 进行筛选,匹配指定前缀(prefix)的 objects |
否 |
MaxKeys |
Int |
最多返回的 objects 数量,默认为最大的1000 |
否 |
返回结果示例
Guzzle\Service\Resource\Model Object
(
[structure:protected] =>
[data:protected] => Array
(
[Name] => examplebucket-1250000000
[Prefix] => doc
[Marker] => doc/picture.jpg
[MaxKeys] => 10
[IsTruncated] => 1
[NextMarker] => doc/exampleobject
[Contents] => Array
(
[0] => Array
(
[Key] => doc/exampleobject
[LastModified] => 2019-02-14T12:20:40.000Z
[ETag] => "e37b429559d82e852af0b2f5b4d078ab72b90208"
[Size] => 6532594
[Owner] => Array
(
[ID] => 100000000001
[DisplayName] => 100000000001
)
[StorageClass] => STANDARD
)
[1] => Array
(
[Key] => doc/exampleobject2
[LastModified] => 2019-03-04T06:34:43.000Z
[ETag] => "988f9f28e68eba9b8c1f5f98ccce0a3c"
[Size] => 28
[Owner] => Array
(
[ID] => 100000000001
[DisplayName] => 100000000001
)
[StorageClass] => STANDARD
)
)
[RequestId] => NWNhMzM0MmZfOWUxYzBiMDlfOTk2YV83ZWE3ODE=
)
)
返回结果说明
参数名称 |
类型 |
描述 |
父节点 |
Name |
String |
存储桶名称,格式:BucketName-APPID |
无 |
Delimiter |
String |
设置分隔符,例如设置/ 来模拟文件夹 |
无 |
EncodingType |
String |
规定返回值的编码方式 |
无 |
Marker |
String |
默认以 UTF-8 二进制顺序列出条目,标记返回 objects 的 list 的起点位置,通过返回的Key值设为Marker实现翻页 |
无 |
Prefix |
String |
对 object 的 key 进行筛选,匹配指定前缀(prefix)的 objects |
无 |
MaxKeys |
Int |
最多返回的 objects 数量,默认为最大的1000 |
无 |
IsTruncated |
Int |
表示返回的 objects 否被截断 |
无 |
Contents |
Array |
返回的对象列表 |
无 |
Content |
Array |
返回的对象属性,包含所有 objects 元信息的 list,包括 'ETag','StorageClass','Key','Owner','LastModified','Size' 等信息 |
Contents |
查询对象及其历史版本列表
功能说明
查询存储桶下的部分或者全部对象及其历史版本信息。
方法原型
public Guzzle\Service\Resource\Model listObjectVersions(array $args = array());
请求示例
示例一:查询历史对象列表
<?php
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID";
$secretKey = "SECRETKEY";
$region = "ap-beijing";
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https',
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
$result = $cosClient->listObjectVersions(array(
'Bucket' => 'examplebucket-1250000000',
'Delimiter' => '',
'EncodingType' => 'url',
'KeyMarker' => 'doc/picture.jpg',
'VersionIdMarker' => 'MTg0NDUxODMyMTE2ODY0OTExOTk3W',
'Prefix' => 'doc',
'MaxKeys' => 1000,
));
print_r($result);
} catch (\Exception $e) {
echo($e);
}
参数说明
参数名称 |
类型 |
描述 |
是否必填 |
Bucket |
String |
存储桶名称,由 BucketName-APPID 构成 |
是 |
Prefix |
String |
默认为空,对对象的对象键进行筛选,匹配 prefix 为前缀的对象 |
否 |
Delimiter |
String |
默认为空,设置分隔符,例如设置/ 来模拟文件夹 |
否 |
KeyMarker |
String |
默认以 UTF-8 二进制顺序列出条目,标记返回对象的 list 的 Key 的起点位置 |
否 |
VersionIdMarker |
String |
默认以 UTF-8 二进制顺序列出条目,标记返回对象的 list 的 VersionId 的起点位置 |
否 |
MaxKeys |
Int |
最多返回的对象数量,默认为最大的1000 |
否 |
EncodingType |
String |
默认不编码,规定返回值的编码方式,可选值:url |
否 |
返回结果示例
Guzzle\Service\Resource\Model Object
(
[structure:protected] =>
[data:protected] => Array
(
[Name] => examplebucket-1250000000
[Prefix] => doc
[KeyMarker] => string
[VersionIdMarker] => string
[MaxKeys] => 10
[IsTruncated] => 1
[NextKeyMarker] => string
[NextVersionIdMarker] => string
[Versions] => Array
(
[0] => Array
(
[Key] => doc/exampleobject1
[VersionId] => null
[IsLatest] => 1
[LastModified] => 2019-06-13T09:24:52.000Z
[ETag] => "96e79218965eb72c92a549dd5a330112"
[Size] => 6
[StorageClass] => STANDARD
[Owner] => Array
(
[UID] => 1250000000
)
)
[1] => Array
(
[Key] => doc/exampleobject2
[VersionId] => MTg0NDUxODMyMTE2ODY0OTExOTk
[IsLatest] => 1
[LastModified] => 2019-06-18T12:47:03.000Z
[ETag] => "698d51a19d8a121ce581499d7b701668"
[Size] => 3
[StorageClass] => STANDARD
[Owner] => Array
(
[UID] => 1250000000
)
)
)
[RequestId] => NWQwOGVkZGRfMjViMjU4NjRfODNjN18xMTE5YWI4
)
)
返回结果说明
参数名称 |
类型 |
描述 |
父节点 |
Name |
String |
存储桶名称,格式:BucketName-APPID |
无 |
Delimiter |
String |
设置分隔符,例如设置/ 来模拟文件夹 |
无 |
EncodingType |
String |
规定返回值的编码方式 |
无 |
KeyMarker |
String |
默认以 UTF-8 二进制顺序列出条目,标记返回对象的 list 的 Key 的起点位置 |
无 |
VersionIdMarker |
String |
默认以 UTF-8 二进制顺序列出条目,标记返回对象的 list 的 VersionId 的起点位置 |
无 |
NextKeyMarker |
String |
当 IsTruncated 为 true 时,标记下一次返回对象的 list 的 Key 的起点位置 |
无 |
NextVersionIdMarker |
String |
当 IsTruncated 为 true 时,标记下一次返回对象的 list 的 VersionId 的起点位置 |
无 |
Prefix |
String |
对 object 的 key 进行筛选,匹配指定前缀(prefix)的 objects |
无 |
MaxKeys |
Int |
最多返回的 objects 数量,默认为最大的1000 |
无 |
IsTruncated |
Int |
表示返回的 objects 否被截断 |
无 |
Versions |
Array |
包含所有多个版本对象元数据的 list |
无 |
Version |
Array |
包含所有多个版本对象元数据的 list,包括 'ETag','StorageClass','Key','VersionId','IsLatest','Owner','LastModified','Size' 等信息 |
Versions |
CommonPrefixes |
Array |
所有以 Prefix 开头,以 Delimiter 结尾的对象被归到同一类 |
无 |
本页内容是否解决了您的问题?