Можете ли вы определять зависимости файлов в кодах AWS S3?

Исходный каталог содержит множество больших изображений и видеофайлов.

Эти файлы должны быть загружены в ведро AWS S3 с помощью команды aws s3 cp. Например, как часть этого процесса сборки, я копирую файл изображения my_image.jpg в ведро S3 следующим образом: aws s3 cp my_image.jpg s3://mybucket.mydomain.com/

У меня нет проблем с выполнением этой копии в AWS вручную. И я тоже могу это сделать. Но я хочу использовать make файл для загрузки моего файла изображения my_image.jpg iff файл с одинаковым именем в моем ведомости S3 старше, чем тот, который находится в моем исходном каталоге.

В целом make очень хорош при такой проверке зависимостей на основе дат файла. Однако можно ли указать make, чтобы получить даты файла из файлов в ведрах S3 и использовать это, чтобы определить, нужно ли перестраивать зависимости или нет?

Ответ 1

У CLI AWS есть команда s3 sync, которая может позаботиться о достаточном количестве этого для вас. Из документация:

Объект s3 потребует копирования, если:

  • размеры двух объектов s3 различаются,
  • последнее измененное время источника новее, чем последнее измененное время назначения,
  • или объект s3 не существует в указанном контейнере и префиксе.

Ответ 2

Я думаю, вам нужно сделать S3 похожим на файловую систему, чтобы сделать эту работу. В Linux обычно используется FUSE для создания таких адаптеров. Здесь несколько проектов, чтобы представить S3 в качестве локальной файловой системы. Я не пробовал ни одного из них, но, похоже, это путь.