【问题标题】:AWS S3 File merge using CLI使用 CLI 合并 AWS S3 文件
【发布时间】:2020-04-23 00:50:16
【问题描述】:

我正在尝试将 S3 存储桶文件夹中存在的所有文件的内容合并/合并到一个新文件中。合并/合并应该按照S3文件Last modified的升序完成。

我可以通过硬编码文件名来手动完成,如下所示:

(aws s3 cp s3://bucket1/file1 - && aws s3 cp s3://bucket1/file2 - && aws s3 cp s3://bucket1/file3 - ) | aws s3 cp - s3://bucket1/new-file

但是,现在我想更改 CLI 命令,以便我们可以根据文件夹中存在的文件列表(按上次修改时间排序)进行文件合并。因此,理想情况下,cp 命令应该接收 S3 存储桶文件夹中存在的所有文件的列表,按 Last Modified 排序,然后将它们合并到一个新文件中。

感谢大家对此的帮助。

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-cli


    【解决方案1】:

    给你一些提示。

    首先按照上次修改的相反顺序列出文件。

    aws s3api list-objects --bucket bucket1 --query "reverse(sort_by(Contents,&LastModified))"

    那么你应该可以像以前一样附加其余命令

    aws s3api list-objects --bucket bucket1 --query "reverse(sort_by(Contents,&LastModified))" |jq -r .[].Key |while read file
    do
       echo $file
       # do the cat $file >> new-file
    done
    
    aws s3 cp new-file s3://bucket1/new-file
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      相关资源
      最近更新 更多