Каков наилучший / быстрый способ проверки наличия нескольких файлов в корзине AWS S3?
Например, у меня есть метаданные 100k файлов в моей локальной БД. Я хотел бы убедиться, что все они существуют в ведре S3. Я могу сделать «aws s3 ls» для конкретного файла, но это будет означать 100 000 запросов aws. Есть ли лучший подход к этому?
Если вы просто проводите общий аудит, вы можете использовать Amazon S3 Inventory для получения полного ежедневного дампа всех ключей объекта и связанных метаданных.
Затем можно написать код для сравнения содержимого файла инвентаризации с записями в БД.
Если вы хотите убедиться, что ваши локальные файлы находятся на S3, вы можете попробовать команду s3 sync .
Вы также можете проверить, какие файлы существуют в данный момент, с помощью Commandeer , который поддерживает просмотр файлов S3 в хорошем древовидном представлении.
Если вы хотите получить все ключи в определенном сегменте за одну команду, вы можете использовать это.
aws s3api list-objects --bucket <bucket-name> --no-paginate
Получив этот список, вы можете обработать его с помощью специального кода.