Как исключить папку в S3 из S3sensor Airflow? - PullRequest
1 голос
/ 30 сентября 2019

Я настроил набор задач для своей работы с воздушным потоком так:

/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 голосов
/ 06 октября 2019

При сопоставлении с подстановочными знаками S3KeySensor используется fnmatch.fnmatch, поэтому простого способа сделать это не существует.

...