Синхронизация AWS s3 для загрузки, если файл не существует в целевой - PullRequest
0 голосов
/ 25 июня 2019

Я загрузил около 1 000 000 файлов из моего локального каталога в папки / подпапки s3, и некоторые из них потерпели неудачу.

Я хотел бы использовать опцию 'sync', чтобы захватить те, которые не сделали егопервый раз.Дата изменения s3 - это дата / время, когда мой файл был загружен (отличается от даты / времени моего исходного файла).

Как я понимаю, синхронизация будет загружать файл в целевой файл, если он не существует, еслидата файла изменилась, или если размер отличается.

Могу ли я изменить командную строку, чтобы НЕ использовать дату файла в качестве рассмотрения для синхронизации?Я ТОЛЬКО хочу скопировать файл, если он не существует.

aws s3 sync \ localserver \ localshare \ folder s3: // mybucket / Folder1

1 Ответ

2 голосов
/ 25 июня 2019

aws s3 sync будет сравнивать «время последнего изменения».

Для объектов в S3 есть только одна отметка времени LastModified, которая должна быть при загрузке файлов.

Для вашего локального файла (предположим, файловая система posix linux).Он должен иметь 3 отметки времени: последний доступ, последнее изменение, последнее изменение состояния.Для сравнения будет использовано только последнее измененное время.

Теперь поддерживаются загруженные вами файлы 1M, некоторые из которых не удалось.Для всех файлов, успешно загруженных, у них должно быть идентичное время последнего изменения, и тогда другая синхронизация не будет загружать их снова (синхронизация проверит, идентичны ли эти файлы, и это будет достаточно долго для проверок для объектов 1M.)

Тем временем вы можете использовать aws s3 sync --size-only аргументы.Это соответствует тому, что вы описали.Но не забудьте проверить, действительно ли это то, что вам нужно.Я имею в виду, что во многих случаях многие файлы могут иметь одинаковый размер даже после изменения (преднамеренно или случайно), --size-only будет игнорировать файлы такого же размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...