12

我正在尝试使用 AWS 数据管道中的活动将文件从 s3 位置移动到另一个位置。

我正在使用的命令是:

(aws s3 mv s3://foobar/Tagger/out//*/lastImage.txt s3://foobar/Tagger/testInput/lastImage.txt)

但我收到以下错误:

A client error (404) occurred when calling the HeadObject operation: Key "Tagger/out//*/lastImage.txt" does not exist

但是,如果我用特定的目录名称替换“*”,它将起作用。问题是我并不总是知道目录的名称,所以我希望我可以使用“*”作为通配符。

4

1 回答 1

17

AWS S3 CLI 中的通配符仅在使用--recursive标志时有效。

所以这应该适合你:

aws s3 mv s3://foobar/Tagger/out/ s3://foobar/Tagger/testInput/ --recursive --exclude "*" --include "*/lastImage.txt"

不幸的是,这将在您的目标位置重新创建整个目录结构,我不能立即确定仅使用 AWS CLI 就能解决这个问题。

于 2015-08-21T14:47:03.397 回答