cari

Rumah  >  Soal Jawab  >  teks badan

Menggunakan AWS SDK untuk PHP 3.x: Dapatkan objek terkini dalam baldi S3 mengikut masa pengubahsuaian terakhir.

<p>Saya cuba mendapatkan objek terbaharu dalam baldi mengikut masa terakhir diubah suai menggunakan AWS SDK untuk PHP 3.x. </p> <p>Saya telah melihat cara menggunakan AWS CLI untuk mencapai fungsi ini. Di sini: </p> <ul> <li>Dapatkan objek terkini dalam baldi S3 mengikut masa pengubahsuaian terakhir</li> <li>Dapatkan objek diubah suai terakhir daripada S3 menggunakan AWS CLI</li> </ul> <p>Tetapi saya tidak tahu cara menggunakan PHP SDK untuk melaksanakan fungsi ini. </p> <pre class="brush:php;toolbar:false;">$S3Client = new AwsS3S3Client([ 'versi' => 'terkini', 'region' => 'eu-west-3', 'tauliah' => 'kunci' = 'xxxxxxxxxxxxxxxxxxxxxxxx', 'rahsia' => 'xxxxxxxxxxxxxxxxxxxxxxxx', ] ]); $startTime = strtotime('-5 minit'); $res = $S3Client->ListObjectsV2([ 'baldi' => 'baldi saya', 'Awalan' => 'objek/', 'StartAfter' => $startTime ]) </pra> <p>Saya menggunakan kaedah ListObjectsV2 yang disyorkan. </p><p>Saya ada tiga soalan. </p><p><br /></p> <ol> <li><p>Bagaimanakah saya harus mengisih keputusan mengikut LastModified? (Sama seperti yang anda boleh lakukan dalam CLI)</p> </li> <li><p>Saya mempunyai beberapa dasar kitaran hayat yang mempengaruhi carian saya kerana saya mendapat beberapa hasil carian yang dialihkan ke objek yang disimpan GLACIER, yang saya tidak mahu. </p> </li> <li><p>Saya mahu mendapatkan teg dan metadata sesuatu objek. Bagaimana saya harus mendapatkannya? Adakah anda mahu menggunakan x-amz-optional-object-attributes? bagaimana nak guna? </p> </li> </ol> <p>Dengan cara ini, menggunakan parameter StartAfter nampaknya tidak mengubah apa-apa. </p>
P粉262113569P粉262113569493 hari yang lalu528

membalas semua(1)saya akan balas

  • P粉068486220

    P粉0684862202023-07-29 09:09:26

    • Anda perlu melaksanakan logik pengisihan dalam kod anda, S3Client/AWS tidak menyokong ciri ini secara lalai. Ini juga bermakna anda perlu menyenaraikan semua objek (bukan hanya 1000 pertama) sebelum anda boleh mengisihnya untuk mencari objek terbaru.
    • Sifat StorageClass disertakan dalam hasil dan anda boleh/perlu menapis hasil sebelum mengisih atau memprosesnya selanjutnya.
    • Ini tidak mungkin hanya dengan menyenaraikan tindakan. Anda perlu menyerahkan permintaan GetObject yang berasingan untuk setiap objek yang anda minati. Jika anda ingin mendapatkan metadata untuk beribu-ribu objek secara serentak, anda perlu memikirkan semula pendekatan anda, dan mungkin menyimpan data tersebut dalam pangkalan data yang boleh ditanya/boleh dicari yang betul.

    balas
    0
  • Batalbalas