我正在阅读:http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_getBucketCors
我有一个部分密钥ex: "/myfolder/myinnerfolder/"
但是实际上myinnerfolder里面有很多对象(文件)
我相信我可以这样命名:
$result = $client->getObject(array(
'Bucket' => $bucket,
'Key' => $key
));
return $result;
如果我有完整的键。我如何调用上面的东西,但它返回所有的对象和/或他们的名字给我?在Python中,您可以简单地通过键的前面请求,但我没有看到这样做的选项。什么好主意吗?
您需要使用带有'Prefix'
参数的listObjects()方法。
$result = $client->listObjects(array(
'Bucket' => $bucket,
'Prefix' => 'myfolder/myinnerfolder/',
));
$objects = $result['Contents'];
为了使这更容易,特别是如果您有超过1000个带有该前缀的对象(这通常需要多个请求),您可以使用SDK的Iterators特性。
$objects = $client->getIterator('ListObjects', array(
'Bucket' => $bucket,
'Prefix' => 'myfolder/myinnerfolder/',
));
foreach ($objects as $object) {
echo $object['Name'];
}