PHPS3-如何获取特定文件的所有版本
我有一个Laravel项目和一个支持版本的S3 bucket。我可以使用PHPS3-如何获取特定文件的所有版本,php,laravel,amazon-web-services,amazon-s3,Php,Laravel,Amazon Web Services,Amazon S3,我有一个Laravel项目和一个支持版本的S3 bucket。我可以使用listObjectVersions方法列出bucket中所有对象的版本 我尝试列出特定对象的版本,如下所示: $result = $client->listObjectVersions([ 'Bucket' => \Config::get('filesystems.disks.s3.bucket'), 'Key' => $folder . '/'
listObjectVersions
方法列出bucket中所有对象的版本
我尝试列出特定对象的版本,如下所示:
$result = $client->listObjectVersions([
'Bucket' => \Config::get('filesystems.disks.s3.bucket'),
'Key' => $folder . '/' . 'test.png',
]);
这似乎得到了桶中的所有对象,这不是我想要的。有没有办法只获取一个文件
我正在使用AWS PHP SDK
谢谢您可以使用“前缀”而不是“键”:
$client = new S3Client([
'version' => 'latest',
'region' => 'eu-west-1'
]);
$folder = $this->getS3Folder($request, $study);
$result = $client->listObjectVersions([
'Bucket' => \Config::get('filesystems.disks.s3.bucket'),
'Prefix' => $folder . '/' . 'test.png',
]);
您需要循环浏览ObjectVersions,然后逐个下载每个版本。谢谢。我本以为这是一个常见的用例,但也许有一个很好的理由将责任委托给消费者。