使用AWS SDK for PHP 3.x:按最後修改時間取得S3儲存桶中最新的物件。
P粉262113569
2023-07-28 11:50:32
<p>我正在嘗試使用AWS SDK for PHP 3.x按最後修改時間來獲取儲存桶中最新的物件。 </p>
<p>我已經看到如何使用AWS CLI來實現此功能。在這裡:</p>
<ul>
<li>依最後修改時間取得S3儲存桶中最新的物件</li>
<li>使用AWS CLI從S3取得最後修改的物件</li>
</ul>
<p>但我不知道如何使用PHP SDK來實現這個功能。 </p>
<pre class="brush:php;toolbar:false;">$S3Client = new AwsS3S3Client([
'version' => 'latest',
'region' => 'eu-west-3',
'credentials' => [
'key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
]
]);
$startTime = strtotime('-5 minutes');
$res = $S3Client->ListObjectsV2([
'Bucket' => 'my-bucket',
'Prefix' => 'objects/',
'StartAfter' => $startTime
])
</pre>
<p>我正在使用推薦的ListObjectsV2方法。 </p><p>我有三個問題。 </p><p><br /></p>
<ol>
<li><p>我該如何依照LastModified對結果進行排序? (就像在CLI中可以做的那樣)</p>
</li>
<li><p>我有一些生命週期策略,這會影響到我的搜索,因為我得到了一些移動到GLACIER存儲的對象的結果,而我不想要這些結果。 </p>
</li>
<li><p>我想要取得物件的標籤和元資料。我應該如何獲取它?是否使用x-amz-optional-object-attributes?如何使用? </p>
</li>
</ol>
<p>順便說一下,使用StartAfter參數似乎沒有改變任何東西。 </p>