使用AWS数据管道删除S3文件

时间:2017-03-27 14:07:23

标签: amazon-web-services amazon-s3

我想使用AWS数据管道删除以某些前缀开头的所有S3密钥。 我正在使用AWS Shell Activity。

这些是参数

  "scriptUri": "https://s3.amazonaws.com/my_s3_bucket/hive/removeExitingS3.sh",
  "scriptArgument": "s3://my_s3_bucket/output/2017-03-19",

我想在输出文件夹中删除所有以2017-03-19开头的S3键。应该做什么命令?

我在.sh文件

中尝试过此命令
  sudo yum -y upgrade aws-cli 
  aws s3 rm $1 --recursive

这不起作用。

示例文件

s3://my_s3_bucket/output/2017-03-19/1.txt
s3://my_s3_bucket/output/2017-03-19/2.txt
s3://my_s3_bucket/output/2017-03-19_3.txt

修改

日期(2017-03-19)是动态的,这是#{format(@scheduledStartTime,"YYYY-MM-dd")}的输出。如此有效

 "scriptArgument": "s3://my_s3_bucket/output/{format(@scheduledStartTime,"YYYY-MM-dd")}"

1 个答案:

答案 0 :(得分:1)

尝试

aws s3 rm $1 --recursive --exclude "*" --include "2017-03-19*" --include "2017-03-19/*"

"scriptArgument": "s3://my_s3_bucket/output/"

修改 由于日期是动态参数,因此将其作为第二个scriptArgument传递给Shell命令活动

aws s3 rm $1 --recursive --exclude "*" --include "$2*" --include "$2/*"