Quiero eliminar todas las claves de S3 que comiencen con algún prefijo usando AWS data Pipeline. Estoy usando AWS Shell Activity para esto.
Estos son el argumento
"scriptUri": "https://s3.amazonaws.com/my_s3_bucket/hive/removeExitingS3.sh", "scriptArgument": "s3://my_s3_bucket/output/2017-03-19",Quiero eliminar todas las claves S3 que comienzan con 2017-03-19 en la carpeta de salida. ¿Cuál debe ser el comando para hacer esto?
He probado este comando en el archivo .sh
sudo yum -y upgrade aws-cli aws s3 rm $1 --recursiveEsto no está funcionando.
Los archivos de muestra son
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.txtEDITAR:
La fecha (2017-03-19) es dinámica y se genera como # {format(@scheduledStartTime,"YYYY-MM-dd")} . Tan efectivamente
"scriptArgument": "s3://my_s3_bucket/output/{format(@scheduledStartTime,"YYYY-MM-dd")}"Probar
aws s3 rm $1 --recursive --exclude "*" --include "2017-03-19*" --include "2017-03-19/*"con
"scriptArgument": "s3://my_s3_bucket/output/" EDITAR: como la fecha es un parámetro dinámico, páselo como el segundo scriptArgument a la actividad del comando Shell,
aws s3 rm $1 --recursive --exclude "*" --include "$2*" --include "$2/*"