Копирование объектов
CLI AWS, безусловно, может копировать объекты между корзинами. Фактически, он даже не требует загрузки файлов - S3 будет копировать непосредственно между сегментами, даже если они находятся в разных регионах.
Команда aws s3 sync
, безусловно, является простым способом сделать это, так как она будет реплицировать любые файлы из источника в место назначения без необходимости конкретно указывать, какие файлы копировать.
Чтобы копировать только AU*
файлов, используйте: --exclude "*" --include "AU*"
См .: Использование фильтров исключения и включения
Вы спрашивали об исключении старых файлов - команда sync
будет синхронизировать все файлы, поэтому все ранее скопированные файлы не будут скопированы снова. По умолчанию любые файлы, удаленные из источника, будут , а не удаляться в месте назначения до тех пор, пока не будет запрошено специально.
Автоматизировать
Как это автоматизировать? Наиболее облачный способ сделать это - создать Лямбда-функцию AWS . Лямбда-функция может автоматически запускаться с помощью правила Amazon CloudWatch Events по регулярному расписанию.
Однако AWS CLI по умолчанию не установлен в Lambda, поэтому это может быть немного сложнее. См .: Запуск команд aws-cli внутри лямбда-функции AWS - Alestic.com
Было бы лучше, чтобы функция Lambda выполняла саму копию, а не вызывала интерфейс командной строки AWS.
Альтернативная идея
Amazon S3 можно настроить так, чтобы запускать функцию AWS Lambda при каждом добавлении нового объекта в корзину S3 . Таким образом, как только объект будет добавлен в S3, он будет скопирован в другую корзину Amazon S3. Логика в функции Lambda может определять, копировать или нет файл, например, проверка начинается с AU
.