如何使用 AWS CLI 将与名称模式匹配的多个文件复制到 AWS S3 存储桶?

Wes*_*sam 4 amazon-s3 amazon-web-services aws-cli

我想使用AWS CLI将与文件名模式匹配的文件从我的计算机复制到 AWS S3 存储桶。使用标准unix 文件名通配符不起作用:

$ aws s3 cp *.csv s3://wesam-data/

Unknown options: file1.csv,file2.csv,file3.csv,s3://wesam-data/
Run Code Online (Sandbox Code Playgroud)

我按照这个 SO 答案解决了一个类似的问题,建议使用--exclude--include过滤器,如下所示,但没有成功。

$ aws s3 cp . s3://wesam-data/ --exclude "*" --include "*.csv"
Run Code Online (Sandbox Code Playgroud)

Wes*_*sam 7

解决方案

$ aws s3 cp . s3://wesam-data/ --exclude "*" --include "*.csv" --recursive
Run Code Online (Sandbox Code Playgroud)

解释

事实证明,我必须将该--recursive标志--include&--exclude标志一起使用,因为这是一个多文件操作。

如果没有提供 --recursive 标志,以下命令是单个文件/对象操作。

  • CP
  • MV
  • R M