当前位置: 首页 > 知识库问答 >
问题:

AWS S3API将文件从一个文件夹移动到同一桶内的另一个文件夹

房学
2023-03-14

aws s3api copy-object-copy-source bucket-1-key*.txt-bucket bucket-1/folder/

我在bucket的根目录中有许多txt文件,我想将它们移动到同一个bucket中的一个文件夹中。

太感谢了。

共有1个答案

严誉
2023-03-14

您可以使用高级S3API:

AWS s3 mv s3://bucket/object.txt s3://bucket/folder/object.txt

但是,您需要指定完整的对象名称-通配符不起作用。

   #!/bin/bash
   IFS=$'\n'
   while read LINE; do
     OBJECT=`echo $LINE | cut -d ' ' -f 5`
     aws s3 mv s3://bucket/$OBJECT s3://bucket/folder/
   done < objects.txt

然后你会这样运行:

   chmod +x script.sh // remember to make the script executable
   aws s3 ls s3://bucket/ > objects.txt
   ./script.sh

请注意,如果您有数百个文本文件,这可能会导致S3桶的节流。如果您有这么多文件,我建议您在上面的while循环中添加一个小延迟,以确保每秒发送的请求少于100个。

20ms的延迟意味着每秒向S3发送50个请求。在这种情况下,完全执行可能需要几秒钟,但考虑到这是一次性操作,这应该是可以接受的。

 类似资料:
  • 我正在尝试创建一个PowerShell脚本,当我的电脑打开时,我可以每天早上运行该脚本,以移动我最近下载的所有类型。x从文件夹y到目标z。 当我运行该代码时,我得到这个错误:

  • 我需要过去7天的存储日志来移动一个新文件夹。但是,我不能移动它们,并得到了这个错误。 重命名(/var/www/html/eMarketing/storage/logs/old-log-2020-02-27,/var/www/html/eMarketing/storage/logs/laravel-2020-02-27.log):不是目录 我的密码在这里

  • 我试图寻找'jpg,jpeg,png'文件在我的USB驱动器,并试图将它们一个接一个地移动到一个新的文件夹。请让我知道这里有什么问题。 错误:- 目标目录E\Mac\MovedPics不存在语音指令2。zip:E:\Mac目的地目录E\Mac\MovedPics不存在usbpicsdata。txt:E:\Mac REGEXP匹配:-E:\Mac\4。jpg回溯(最近一次调用last):文件“C:\

  • 问题内容: 情况: 我正在做一个自动化,我必须从一组文件中仅下载CSV文件。现在我只想将CSV文件从一个文件夹移动到另一个文件夹。 题: 您能为我提供代码,以便在文件移动后立即从源文件夹中删除文件吗? 到目前为止,这是我的代码: 编辑:但是我仍然面临一个问题。它会立即下载所有文件,然后删除。但是我的要求是这样的- 它应该下载第一个文件->将下载的文件移到另一个文件夹中->从下载文件夹中删除第一个下

  • 我得到以下错误: 线程“main”java.lang.IllegalArgumentException:错误的fs:hdfs:/user/o/datasets/data.txt,应为:file:/// 也是如此,因为它们用于在文件系统之间传输文件,而不是在文件系统内传输文件。我还尝试了,但根本没有任何作用(没有错误或任何东西)。

  • 我也在尝试用Python创建一个脚本来读取文本文件。在文本文件的每一行上,都有一个文件名。我希望脚本在文本文件的每一行中循环,并将带有文件名的文件从循环的当前行、从源文件夹移动到特定的目标。 希望这段代码能更准确地说明我在做什么: 我想把文件的内容和特定的文件名放到一个数组中,但是我有62700个可能的文件名,所以我想如果它只是在循环到每一行时移动文件,那么它会更有效率吗? 我还想到了使用迭代器(