Отправка файлов с помощью aws sync

Я использую команду синхронизации aws, чтобы jenkins отправлял файлы на s3. Проблема в том, что синхронизация aws снова отправляет тот же файл, даже если он имеет то же имя файла, что и в s3. Это потому, что перед отправкой на сервер s3 нам нужно выполнить tar, а затем распаковать файл, а tar и untar изменяют время модификации. Можно ли как-то более эффективно отправлять файлы на s3, чтобы один и тот же файл не отправлялся?


person Chris Scott    schedule 30.10.2015    source источник
comment
Ваш сервер Jenkins находится на экземпляре ec2?   -  person Koustav Ray    schedule 06.01.2017


Ответы (1)


Вы можете указать флаг --size-only, чтобы размер каждого объекта был единственным критерием, используемым для принятия решения о синхронизации от источника к месту назначения. (документы)

person Jordon Phillips    schedule 03.11.2015
comment
Ключ является идентификатором объекта. Таким образом, при просмотре каждого ключа будет проверяться только размер объекта, а не какие-либо метаданные. Я отредактировал свой ответ, чтобы быть более ясным. - person Jordon Phillips; 03.11.2015
comment
это не сработает, потому что файл мог быть изменен и все еще иметь тот же размер. - person Chris Scott; 03.11.2015
comment
Тогда прямо сейчас в CLI нет хорошего решения. Проверка ETag не реализована, потому что мы не можем надежно вычислить ETag для файлов, загружаемых несколькими частями. - person Jordon Phillips; 03.11.2015