1

嗯,不太清楚该怎么做。
我正在尝试将 50 个文件从 S3 下载到 EC2 机器。我跑了:

对于 i in `seq -f "%05g" 51 101`;做 (aws s3 cp ${S3_DIR}part-${i}.gz . &); 完毕

几分钟后,我检查了 pgrep -f aws 并发现有 50 个进程正在运行。此外,所有文件都已创建并开始下载(大文件,因此预计需要一段时间才能下载)。
然而,最后,我只得到了一部分文件:

$ ls
part-00051.gz part-00055.gz part-00058.gz part-00068.gz part-00070.gz part-00074.gz part-00078.gz part-00081.gz part-00087.gz part-00091.gz零件-00097.gz 零件-00099.gz 零件-00101.gz
part-00054.gz part-00056.gz part-00066.gz part-00069.gz part-00071.gz part-00075.gz part-00080.gz part-00084.gz part-00089.gz part-00096.gz零件-00098.gz 零件-00100.gz

剩下的在哪里??
我没有看到任何错误,但我看到这些是成功完成的文件(这些是上面 ls 输出中显示的文件):

下载:s3://my/path/part-00075.gz 到 ./part-00075.gz
4

1 回答 1

2

如果您要向/从 S3 复制许多对象,您可以尝试--recursive指示 aws-cli 复制多个对象的选项:

aws s3 cp s3://bucket-name/ . --recursive --exclude "*" --include "part-*.gz" 
于 2014-11-17T10:38:59.867 回答