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/*要匹配的内容了*