AWS CLI 移动路径中带有通配符(星号)的文件

AWS CLI moving file with wildcard (asterisk) in path

我正在尝试使用 AWS 数据管道中的 activity 将文件从 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

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

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

所以这应该适合你:

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

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