#amazon-s3 #airflow #directed-acyclic-graphs
#amazon-s3 #воздушный поток #направленные ациклические графики
Вопрос:
У меня есть случай использования, когда, если время ожидания S3KeySensor истекло, я хочу запустить другой оператор шага воздушного потока и продолжить выполнение DAG. В настоящее время возникает ошибка AirflowSensorTimeout(‘Привязка. Время ИСТЕКЛО.’). Есть ли какой-либо способ реализовать это?
scan_results_sensor = S3KeySensor(
task_id="key_sensor",
bucket_key=key,
wildcard_match=True,
bucket_name=bucket,
aws_conn_id='aws_default',
timeout=120,
poke_interval=30,
soft_fail=True
)
Комментарии:
1. конкретно только по таймауту? Где другой оператор (тот же dag? другое?) Пожалуйста, добавьте более подробную информацию о варианте использования. Добавьте образцы вашего текущего кода
2. Да, только тайм-аут. Это должно вызвать другого оператора из dag.
Ответ №1:
Возможным решением является установка trigger_rule="all_failed"
или trigger_rule="one_failed"
(в зависимости от ваших зависимостей от оператора). Тем не менее, вы предоставляете soft_fail=True
, он устанавливает состояние оператора skipped
на сбой. Итак, его также следует удалить.
https://airflow.apache.org/docs/apache-airflow/stable/concepts.html#trigger-rules