I have a Laravel project and a version enabled S3 bucket. I can list the versions of all objects within the bucket using the listObjectVersions
method.
My attempt to list the versions of a specific object is as follows:
JavaScript
x
$result = $client->listObjectVersions([
'Bucket' => Config::get('filesystems.disks.s3.bucket'),
'Key' => $folder . '/' . 'test.png',
]);
This seems to get all objects within the bucket which is not what I want. Is there a way to get just one file?
I am using the AWS PHP SDK.
Thanks
Advertisement
Answer
You can use ‘Prefix’ instead of ‘Key’:
JavaScript
$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',
]);