如何从Airflow的S3sensor中排除S3中的文件夹?

时间:2019-09-30 16:56:05

标签: 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_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
        )

1 个答案:

答案 0 :(得分:0)

S3KeySensor的通配符匹配在后台使用fnmatch.fnmatch,因此没有简单的方法来实现。