我想使用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")}"
答案 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/*"