Подтвердить что ты не робот

Amazon S3 избегает перезаписи объектов с тем же именем

Если я загружу файл на S3 с именем файла, идентичным имени файла для объекта в ведре, он перезаписывает его. Какие существуют опции, чтобы избежать перезаписи файлов с одинаковыми именами файлов? Я включил управление версиями в своем ковше, думая, что это решит проблему, но объекты все еще перезаписаны.

4b9b3361

Ответ 1

Мой комментарий сверху не работает. Я думал, что ACL WRITE применим и к объектам, но работает только на ведрах.

Поскольку вы включили управление версиями, ваши объекты не перезаписываются. Но если вы не укажете версию в своем запросе GET или URL-адресе, будет использована последняя версия. Это означает, что когда вы помещаете и помещаете объекты в S3, вам нужно сохранить идентификатор версии, на который отвечает ответ, чтобы получить самый первый объект.

Подробнее см. Amazon S3 ACL для доступа только для чтения и доступа к однократной записи.

Ответ 2

Вы также можете настроить пользователя IAM с ограниченными разрешениями. Писания все еще записываются (т.е. Обновления), но использование пользователя IAM в любом случае является наилучшей практикой.

Владелец (т.е. ваш "ключ долгосрочного доступа и секретный ключ" ) всегда имеет полный контроль, если вы полностью не используете его, чтобы отключить его.

Ответ 3

Вот мое предложение, если вы используете БД для хранения ключа каждого файла в своем корзине s3.

Создать случайный ключ. Попробуйте вставить/обновить ключ вашей базы данных в поле с ограничением UNIQUE, которое допускает нулевую запись. Если это не удается, ключ используется, повторяйте, пока не получите уникальный ключ.

Затем поместите свой файл на s3 с помощью своего ключа, который, как вы знаете, уникален.