Я новичок в 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