Это просто предупреждение, а не ошибка. A DeprecationWarning
обычно намекает на то, что что-то, что вы делаете, будет работать сейчас, но может сломаться в будущих версиях. Если ваша задача не выполняется, проигнорируйте эти сообщения и найдите правильную ошибку.
Код для операторов всегда находился в airflow.operators.[operator_module]
, но он также был сделан доступным в airflow.operators
напрямую для удобства. Например, SimpleHttpOperator
определено в https://github.com/apache/airflow/blob/1.10.9/airflow/operators/http_operator.py, поэтому его импорт из airflow.operators.http_operator
определенно будет работать. Однако импорт из airflow.operators
также будет работать из-за кода, который в настоящее время существует в https://github.com/apache/airflow/blob/1.10.9/airflow/operators/ init .py # L97-L99 , по крайней мере, на данный момент в вашей текущей версии воздушного потока. По сути, вы можете устранить эти предупреждения, обновив свой импорт следующим образом:
from airflow.operators.http_operator import SimpleHttpOperator
from airflow.operators.email_operator import EmailOperator
from airflow.sensors.http_sensor import HttpSensor
from airflow.sensors.s3_key_sensor import S3KeySensor
Просто заголовки, в настоящее время только в основной ветке, еще нет ни в одной выпущенной версии, некоторые сторонние операторы и датчики также были перемещены снова. Например, S3KeySensor
будет найдено в providers.amazon.aws.sensors.s3_key.py
. Как и ожидалось, при импорте из «старого» пути вы получите аналогичное сообщение об устаревании, https://github.com/apache/airflow/blob/97a429f9d0cf740c5698060ad55f11e93cb57b55/airflow/sensors/s3_key_sensor.py#L25 -L28 .