【问题标题】:AWS: How to copy multiple file from local to s3?AWS:如何将多个文件从本地复制到 s3?
【发布时间】:2020-01-05 23:41:33
【问题描述】:

我正在尝试将多个文件从本地上传到 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-services amazon-s3 aws-cli


    【解决方案1】:

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

    使用参数--recursive 传递时,以下cp 命令递归地将指定目录下的所有文件复制到指定的bucket 和前缀,同时使用--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"
    

    【讨论】:

    • 如何实现上传-> a.txt, b.txt 但是跳过-> c.txt 和d.txt
    • 我没有从文档中看到任何方法可以做到这一点,至少没有给出示例。
    • 是的,我希望选择性上传,对我来说只上传我想要的扩展名的所有文件会很危险。
    • 您是否有机会将所有需要的上传文件放到一个子文件夹中?
    • 我认为您可以在 RegEx 中使用包含和排除标志。 aws s3 cp yourSubFolder s3://mybucket/ --recursive --include "a*.txt" --include "b*.txt" --exclude="c*.txt" --exclude="d*.txt "
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多