首页 > 解决方案 > AWS:如何将多个文件从本地复制到 s3?

问题描述

我正在尝试将多个文件从本地上传到 AWS S3 存储桶,
我可以用来aws s3 cp一个一个地复制文件,
但我需要上传多个但不是全部,即。选择文件到同一个 S3 文件夹,
是否可以在单个 AWS CLI 调用中执行此操作,如果可以,如何?

例如 -

aws s3 cp test.txt s3://mybucket/test.txt

参考 -
https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html

标签: amazon-web-servicesamazon-s3aws-cli

解决方案


如果您向下滚动提供的文档链接到标题为“递归地将本地文件复制到 S3”的部分,您将看到以下内容:

使用参数 --recursive 传递时,以下 cp 命令递归地将指定目录下的所有文件复制到指定的存储桶和前缀,同时使用 --exclude 参数排除某些文件。在此示例中,目录 myDir 包含文件 test1.txt 和 test2.jpg

因此,假设您想将.txt某个子文件夹中的所有文件复制到 S3 中的同一个存储桶中,您可以尝试以下操作:

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

如果该子文件夹中还有其他文件,需要添加--exclude--include参数(否则会上传所有文件):

aws s3 cp yourSubFolder s3://mybucket/ --recursive --exclude "*" --include "*.txt"

推荐阅读