Можно ли создавать собственные команды CLI AWS? - PullRequest
1 голос
/ 12 октября 2019

Не уверен, что это правильное место, чтобы спросить, но я все равно продолжу.

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

Рассматривая исходный код CLI AWS, представляется возможным просто изменить код Python здесь

class SizeAndLastModifiedSync(BaseSync):

    def determine_should_sync(self, src_file, dest_file):
        same_size = self.compare_size(src_file, dest_file)
        same_last_modified_time = self.compare_time(src_file, dest_file)
        should_sync = (not same_size) or (not same_last_modified_time)
        if should_sync:
            LOG.debug(
                "syncing: %s -> %s, size: %s -> %s, modified time: %s -> %s",
                src_file.src, src_file.dest,
                src_file.size, dest_file.size,
                src_file.last_update, dest_file.last_update)
        return should_sync

Но, не будучи большим экспертом по питону, я не уверен, что есть другие соображения, которые могли бы помешать работе этих модификаций.

Кажется, все, что мне нужно сделать, это добавитьпроверьте, не превышает ли временная метка dest_file значение временной метки src_file - после разрешения таких вещей, как часовые пояса и т. д.

Будут признательны любые указатели на лучший подход.

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