У меня ведро S3 без поддержки версий (VersionId для всех файлов равен нулю), файлы имеют разные имена. Мой текущий код:
$path = $this->key.'/primary/pdfs/'.$id.'/';
$result = $this->s3->listObjects(['Bucket' => $this->bucket,"Prefix" => $path])->toArray();
//get the last object from s3
$object = end($result['Contents']);
$key = $object['Key'];
$file = $this->s3->getObject([
'Bucket' => $this->bucket,
'Key' => $key
]);
//download the file
header('Content-Type: application/pdf');
echo $file['Body'];
Вышеуказанное неверно, поскольку дает конечный файл, который не является последним файлом. Нужно ли мне использовать приведенный ниже вызов API? если да, то как им пользоваться?
$result = $this->s3->listObjectVersions(['Bucket' => $this->bucket,"Prefix" => $path])->toArray();