Amazon s3 如何从气流中排除S3中的文件夹';s传感器?

Amazon s3 如何从气流中排除S3中的文件夹';s传感器?,amazon-s3,airflow,Amazon S3,Airflow,我已经为我的气流工作设置了一系列任务,如下所示: /bucket-of-tasks - task-2 - task-3 /completed - task-1 有没有办法使用S3Sensor并排除以completed/开头的键?他们似乎只提供了一个通配符匹配。下面是我编写的示例代码: def check_for_emails(self): return S3KeySensor( task_id='check

我已经为我的气流工作设置了一系列任务,如下所示:

/bucket-of-tasks
    - task-2
    - task-3
    /completed
        - task-1
有没有办法使用S3Sensor并排除以
completed/
开头的键?他们似乎只提供了一个通配符匹配。下面是我编写的示例代码:

    def check_for_emails(self):
        return S3KeySensor(
            task_id='check_for_emails',
            bucket_name='bucket_name',
            poke_interval= 60, # Try every  minute
            timeout= 60 * 5, # Timeout after 5 minutes, so 5 pokes on our bucket
            aws_conn='us_east_1',
            bucket_key="*Things_to_match*",
            wildcard_match=True,
            soft_fail=True,
            dag=self.dag
        )


S3KeySensor的通配符匹配在引擎盖下使用fnmatch.fnmatch,因此没有简单的方法可以做到这一点。

我相信答案是,因为S3KeySensor在引擎盖下使用fnmatch.fnmatch。最好的办法是创建一个/todo文件夹,这样我就可以有todo/*要匹配的内容了*