В нашем проекте мы храним объекты в корзине S3 с включенным управлением версиями. На сервере нет никакой логики, кроме создания подписанного URI для использования клиентом. Мы хотели бы сохранить это так, поскольку мы хотим, чтобы клиент выполнял всю обработку.
К проблеме. Мы успешно можем сгенерировать подписанные URI для объекта GET и PUT для всех объектов, но мы не можем сгенерировать URI для перечисления всех доступных версий.
Это пример GET-url для объекта в одной из наших корзин, которая работает (99/2 - это папки в корзине): https://bucketname.s3.amazonaws.com/99/2?AWSAccessKeyId=ourkey&Signature=signature&Expires=1410784420
Согласно документации (GET-версии) мы должны добавить «версии» и «разные версии». Мы пробовали следующее: https://bucketname.s3.amazonaws.com/99/2?AWSAccessKeyId=ourkey&Signature=signature&Expires=1410784420&versions
Это приводит к тому, что браузер жалуется на неправильную подпись, отсутствие «? Версий». Если я читаю документы, я интерпретирую это как следует ' t быть включенным в подпись, если мы также не добавим к ней значение, чего мы не делаем. Проблема в том, что не имеет значения, добавлю ли я его затем к созданию подписи, поскольку это все еще не удается с ошибкой «Не существует такой вещи, как подресурс? Версий для ключа».
Есть ли кто-нибудь, кто успешно создал подписанный uri для объекта, чтобы перечислить его версии? Нам бы очень хотелось получить подсказки о том, что мы делаем неправильно! Я также хотел бы отметить, что мы не используем встроенный URI-генератор, так как не смогли подобрать его для наших нужд.