Как я могу сделать так, чтобы Airflow чувствовал получение электронного письма в подпапке в папке «Входящие»? - PullRequest
0 голосов
/ 02 августа 2020

Я новичок в Airflow. Мне нужна помощь в приведенном ниже требовании. Мы получаем электронные письма от нескольких клиентов. У каждого клиента есть отдельная подпапка в папке INBOX. Например, если клиенты AB C и XYZ отправляют электронные письма, они попадают в подпапки INBOX.AB C и INBOX.XYZ соответственно. По получении группа DAG должна определить получение и запустить нисходящие задачи c клиента. Я попытался заменить mail_folder="INBOX" на mail_folder="ABC", это не сработало, дал мне этот ERROR - command SEARCH illegal in state AUTH, only allowed in states SELECTED. Он отлично работает, если это просто INBOX. Ниже представлен тестовый DAG для лучшего понимания. Любая помощь в этом приветствуется. Спасибо.

with DAG(
    dag_id=dag_id,
    default_args=args,
    schedule_interval=timedelta(days=1),
    catchup=False,
    description=f"Test email sensor",
) as dag:

    start = DummyOperator(task_id="start")

    sense = ImapAttachmentSensor(
        task_id="mail_received",
        conn_id="local_inbox",
        attachment_name="test.txt",
        mail_folder="INBOX",
        check_regex=True,
    )

    notify = DummyOperator(
            task_id='notify'
    )

    stop = DummyOperator(task_id="stop")

    start >> sense >> notify >> stop
...