Intereting Posts
Есть ли директива php.ini, которая позволяет отслеживать трассировки стека на ошибках? Почему crypt () генерирует разные результаты? Невозможно заставить Laravel 4 работать на localhost Автозаполнение в yii2 Могу ли я попытаться / поймать предупреждение? Доступ к глобальной переменной изнутри класса Есть ли функция PHP для удаления всех / всех пар ключ / значение, которые имеют определенное значение из массива? Ошибка php и выпадающий список нуждаются в исправлении XmlHTTPRequest: "Ошибка анализа XML: элемент не найден" Построить имя переменной PHP на основе других значений переменных и статического текста PHP Преобразование даты форматирования HTML расширение laravel 5 встроенной аутентификации для входа в систему только "если пользователь == активен" Настроить кнопку «Добавить в корзину» для определенной категории продукта в WooCommerce Строка для Zipped Stream в php Переключить загрузочный модальный с помощью php-триггера

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

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

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

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

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

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

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

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

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

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