Python 是否可以创建自定义AWS CLI命令?

Python 是否可以创建自定义AWS CLI命令?,python,amazon-web-services,command-line-interface,Python,Amazon Web Services,Command Line Interface,我不确定这是个合适的地方,但我还是会去的 我想修改aws s3 sync命令,使其不会覆盖目标上的较新文件。目前,它比较文件大小和时间戳,如果两者不同,则将源位置的文件复制到目标位置 看看AWS CLI源代码,似乎可以在这里简单地修改python代码 class SizeAndLastModifiedSync(BaseSync): def determine_should_sync(self, src_file, dest_file): same_size = self

我不确定这是个合适的地方,但我还是会去的

我想修改
aws s3 sync
命令,使其不会覆盖目标上的较新文件。目前,它比较文件大小和时间戳,如果两者不同,则将源位置的文件复制到目标位置

看看AWS CLI源代码,似乎可以在这里简单地修改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
但作为一名python专家,我不确定是否还有其他因素会阻止这些修改工作

似乎我需要做的就是添加一个检查,看看dest_文件的时间戳是否大于src_文件的时间戳-在解决时区等问题之后


任何关于最佳方法的建议都将不胜感激。

我感到困惑。根据“默认行为是忽略相同大小的项目,除非本地版本比S3版本更新。”这不是您想要的吗?如果大小或时间戳不同,则源会覆盖目标,它不会检查目标是否比源更新-请参阅以上aws s3同步功能中的代码。无论如何,我只是直接修改了文件中的代码,现在就可以了。我很困惑。根据“默认行为是忽略相同大小的项目,除非本地版本比S3版本更新。”这不是您想要的吗?如果大小或时间戳不同,则源会覆盖目标,它不会检查目标是否比源更新-请参阅以上aws s3同步功能中的代码。无论如何,我只是直接修改了文件中的代码,现在就可以了。