我正在阅读:http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_getBucketCors
我有一个部分密钥ex:“/ myfolder / myinnerfolder /”
然而,myinner文件夹中实际上有很多对象(文件)。
我相信我可以这样说:
$result = $client->getObject(array(
'Bucket' => $bucket,
'Key' => $key
));
return $result;
如果我有完整的密钥。我怎样才能调用上面的内容,但是让它将所有对象和/或名字都返回给我?在Python中,您只需通过密钥的前面请求,但我没有看到执行此操作的选项。有什么想法吗?
答案 0 :(得分:1)
您需要将listObjects() method与'Prefix'
参数一起使用。
$result = $client->listObjects(array(
'Bucket' => $bucket,
'Prefix' => 'myfolder/myinnerfolder/',
));
$objects = $result['Contents'];
为了使这更容易,特别是如果你有超过1000个具有该前缀的对象(通常需要多个请求),你可以使用SDK的Iterators feature。
$objects = $client->getIterator('ListObjects', array(
'Bucket' => $bucket,
'Prefix' => 'myfolder/myinnerfolder/',
));
foreach ($objects as $object) {
echo $object['Name'];
}