Если я загружу файл на S3 с именем файла, идентичным имени файла в ведре, он перезаписывает его. Какие существуют опции, чтобы избежать перезаписи файлов с одинаковыми именами файлов? Я включил управление версиями в своем ковше, думая, что это решит проблему, но объекты все еще перезаписаны.
Мой комментарий сверху не работает. Я думал, что WRITE
ACL применим и к объектам, но работает только на ведрах.
Поскольку вы включили управление версиями, ваши объекты не перезаписываются. Но если вы не укажете версию в своем запросе GET или URL-адресе, будет использована последняя версия. Это означает, что когда вы помещаете и помещаете объекты в S3, вам нужно сохранить идентификатор версии, на который отвечает ответ, чтобы получить самый первый объект.
См. ACL Amazon S3 для доступа только для чтения и доступа к однократной записи .
Вы также можете настроить пользователя IAM с ограниченными разрешениями. Писания все еще записываются (т. Е. Обновления), но использование пользователя IAM в любом случае является наилучшей практикой.
Владелец (т. Е. Ваш «ключ долгосрочного доступа и секретный ключ») всегда имеет полный контроль, если вы полностью не используете его, чтобы отключить его.
Вот мое предложение, если вы используете БД для хранения ключа каждого файла в своем ведре s3.
Создайте случайный ключ. Попробуйте вставить / обновить ключ вашей базы данных в поле с ограничением UNIQUE, которое допускает нулевую запись. Если это не помогло, ключ использовался, повторяйте, пока не получите уникальный ключ.
Затем поместите свой файл на s3 с помощью своего ключа, который, как вы знаете, уникален.