Загрузить последний объект по дате изменения
Если вы хотите получить только тот файл, который последний раз сохранялся в Amazon S3, вы можете использовать:
aws s3 cp s3://my-bucket/`aws s3api list-objects-v2 --bucket my-bucket --query 'sort_by(Contents, &LastModified)[-1].Key' --output text` .
Эта команда выполняет следующие действия:
- Внутренняя команда
aws s3api list-objects-v2
выводит список сегментов по дате (в обратном порядке), а затем возвращает ключ (имя файла) объекта, который был последний раз изменен - Внешняя команда
aws s3 cp
загружает этот объект в локальный каталог
Загрузка последнего объекта на основе имени файла
Если ваши имена файлов имеют вид:
some_file_20190130.csv
some_file_20190131.csv
some_file_20190201.csv
затем вы можете перечислить по префиксу и скопировать последний:
aws s3 cp s3://my-bucket/`aws s3api list-objects-v2 --bucket my-bucket --prefix some_file_ --query 'sort_by(Contents, &Key)[-1].Key' --output text` .
Эта команда выполняет следующие действия:
- внутренние
aws s3api list-objects-v2
списки командв блоке отображаются только файлы с заданным префиксом some_file_
, сортировка по ключу (обратное), затем возвращает ключ (имя файла) объекта, который находится в конце сортировки - внешний
aws s3 cp
команда загружает этот объект в локальный каталог