小编Cas*_*210的帖子

如何使用 Python 对不同前缀同时运行 AWS S3 同步命令

我正在尝试编写一个 python 脚本,它使用 subprocess 模块将文件从一个 s3 存储桶复制到另一个。但是,为了提高性能,我尝试并行运行具有不同前缀的单独同步命令。

到目前为止我所尝试的脚本没有终止,并且我不确定子进程是否同时运行。

import subprocess

prefix = ['prefix1','prefix2','prefix3']
source_bucket = 's3://source'
dest_bucket = 's3://dest'
commands = []

for p in prefix:
   command = 'aws s3 sync source_bucket' + p + ' dest_bucket'
   commands.append(command)

procs = [subprocess.Popen(i, shell=True, stdout=subprocess.PIPE) for i in commands]

for p in procs:
   p.wait()
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?任何帮助表示赞赏。

python subprocess amazon-s3 amazon-web-services

4
推荐指数
1
解决办法
5267
查看次数