使用S3DeleteObjectsOperator仅删除文件而不删除子文件夹

问题描述 投票:0回答:1

有没有办法在 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)
airflow
1个回答
0
投票

这可以通过使用 S3 中的文件夹来实现,请参阅 https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html

当您在 Amazon S3 中创建文件夹时,S3 会创建一个 0 字节对象 设置为您提供的文件夹名称的键。例如,如果 您在存储桶、Amazon S3 控制台中创建一个名为 photos 的文件夹 使用关键 photos/ 创建一个 0 字节对象。控制台创建了这个 反对支持文件夹的想法。

© www.soinside.com 2019 - 2024. All rights reserved.