当对象具有 Windows 不兼容的文件名时,如何从 s3 存储桶下载所有文件



尝试使用以下方法将 s3 存储桶中的所有内容复制到本地硬盘:

aws s3 cp s3://mybucket . --recursive

但是存储桶的内容是一个日志流,其对象名称如下所示:

logs/
├──2018-03-20/
│   ├──01:00+00/
│   │   └──01:10:06.521.csv.gz
│   ├──02:00+00/
│   │   └──02:22:09.306.csv.gz
etc

当我尝试复制时,我只得到名称为 logs/2018-03-20 的空文件夹。我猜这是因为 Windows 不允许在文件夹或文件名中使用冒号,并且 --recursive 命令不会自动更正(当我从浏览器下载时,冒号被替换为下划线(。

我无法控制日志流输出。

有人对如何下载所有数据有任何建议(除了手动逐个文件(?有没有办法指定如何从cp --recursivesync命令输出文件名?

我能够设置一个带有"test:test"文件名的用例,并使用Windows 10虚拟机上的CyberDuck下载它们。我只是拖动了包含该文件的文件夹,然后在下载时重命名了它们。

您可以在此处下载网络鸭

https://cyberduck.io/

干杯!

相关内容

最新更新