Dalam proyek kami, kami menyimpan objek dalam bucket S3 dengan versi diaktifkan. Tidak ada logika di server selain membuat URI bertanda tangan untuk digunakan klien. Kami ingin tetap seperti ini karena kami ingin klien melakukan semua pemrosesan.
Untuk masalahnya. Kami berhasil membuat URI yang ditandatangani untuk objek GET dan PUT untuk keseluruhan objek, namun kami tidak dapat membuat URI untuk mencantumkan semua versi yang tersedia.
Ini adalah contoh url GET pada objek di salah satu bucket kami yang berfungsi (99/2 adalah folder di dalam bucket): https://bucketname.s3.amazonaws.com/99/2?AWSAccessKeyId=ourkey&Signature=signature&Expires=1410784420
Menurut dokumen (GET versi) kita seharusnya tambahkan ?versions dan versi yang berbeda. Kami telah mencoba yang berikut: https://bucketname.s3.amazonaws.com/99/2?AWSAccessKeyId=ourkey&Signature=signature&Expires=1410784420&versions
Hal ini kemudian mengakibatkan browser mengeluh bahwa tanda tangannya salah, "?versions" hilang. Jika saya membaca docs saya menafsirkannya sebagaimana mestinya' tidak disertakan dalam tanda tangan kecuali kita menambahkan nilai padanya juga, padahal sebenarnya tidak. Masalahnya adalah tidak masalah jika saya menambahkannya ke pembuatan tanda tangan karena masih gagal dengan kesalahan "Tidak ada yang namanya sub-sumber daya ?versi untuk kunci".
Apakah ada seseorang yang berhasil membuat uri bertanda tangan untuk objek guna mencantumkan versinya? Kami sangat ingin mendapatkan petunjuk tentang kesalahan yang kami lakukan! Saya juga ingin menunjukkan bahwa kami tidak menggunakan generator URI bawaan karena kami tidak bisa memenuhi kebutuhan kami.