有没有办法在 Airflow 中使用 S3DeleteObjectsOperator 只删除文件而不删除 s3 中的子文件夹?
delete_operator = S3DeleteObjectsOperator(
task_id=f't0_s3_cleanup_task_{{keys}}',
aws_conn_id='aws_s3',
bucket=var_s3_bucket,
prefix=var_qa_prefix
)
delete_operator.execute(context)
这可以通过使用 S3 中的文件夹来实现,请参阅 https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html
当您在 Amazon S3 中创建文件夹时,S3 会创建一个 0 字节对象 设置为您提供的文件夹名称的键。例如,如果 您在存储桶、Amazon S3 控制台中创建一个名为 photos 的文件夹 使用关键 photos/ 创建一个 0 字节对象。控制台创建了这个 反对支持文件夹的想法。