CLI и переменные окружения — краткий обзор
Краткая выжимка по официальному справочнику CLI и переменных окружения Airflow. Подробное использование: Using the Command Line Interface.
Использование: airflow [-h] GROUP_OR_COMMAND ...
Основные группы команд
| Группа |
Описание |
api-server |
Запуск API-сервера Airflow |
assets |
Управление ассетами (details, list, materialize) |
backfill |
Backfill (create — прогон DAG за диапазон дат) |
cheat-sheet |
Вывод шпаргалки |
config |
Конфигурация (get-value, lint, list, update) |
connections |
Подключения (add, delete, export, get, import, list, test) |
dag-processor |
Запуск экземпляра DAG processor |
dags |
DAG: list, trigger, pause, unpause, test, list-runs, state и др. |
db |
Операции с БД (check, migrate, clean, reset, shell и др.) |
db-manager |
Внешние менеджеры БД (downgrade, migrate, reset) |
info |
Информация о Airflow и окружении |
jobs |
Управление джобами (check) |
plugins |
Информация о загруженных плагинах |
pools |
Пуллы (delete, export, get, import, list, set) |
providers |
Провайдеры (list, get, hooks, triggers и др.) |
scheduler |
Запуск планировщика |
standalone |
Запуск в режиме standalone |
tasks |
Задачи: list, test, state, render и др. |
triggerer |
Запуск triggerer |
variables |
Переменные (get, set, list, delete, import, export) |
version |
Версия Airflow |
Дополнительные команды от провайдеров: Celery, Kubernetes, AWS; пользователи и роли — FAB provider.
dags
Управление DAG.
airflow dags list
| Аргумент |
Описание |
dag_id |
(позиционный) ID DAG |
-B, --bundle-name |
Имя DAG bundle (можно указать несколько раз) |
--columns |
Список колонок (по умолчанию: dag_id, fileloc, owners, is_paused, bundle_name, bundle_version) |
-l, --local |
Показать локально разобранные DAG и ошибки импорта, без учёта сериализованного в БД |
-o, --output |
Формат: table, json, yaml, plain |
airflow dags trigger
| Аргумент |
Описание |
dag_id |
(позиционный) ID DAG |
-c, --conf |
JSON-конфиг DagRun (conf) |
-l, --logical-date |
Логическая дата DAG |
-r, --run-id |
Идентификатор запуска |
--no-replace-microseconds |
Не обнулять микросекунды (по умолчанию True — обнулять) |
-o, --output |
Формат вывода |
airflow dags pause / unpause
| Аргумент |
Описание |
dag_id |
(позиционный) ID DAG или regex при --treat-dag-id-as-regex |
--treat-dag-id-as-regex |
Считать dag_id регулярным выражением |
-y, --yes |
Не спрашивать подтверждение |
-o, --output |
Формат вывода |
airflow dags list-runs
| Аргумент |
Описание |
dag_id |
(позиционный) ID DAG |
-s, --start-date |
Начальная дата (фильтр) |
-e, --end-date |
Конечная дата (фильтр) |
--state |
queued, running, success, failed |
--no-backfill |
Исключить backfill-запуски |
-o, --output |
Формат вывода |
airflow dags test
| Аргумент |
Описание |
dag_id |
(позиционный) ID DAG |
logical_date |
(позиционный, опционально) Логическая дата |
-B, --bundle-name |
Имя DAG bundle |
-f, --dagfile-path |
Путь к файлу DAG |
-c, --conf |
JSON conf для DagRun |
--mark-success-pattern |
Regex: не запускать задачи, помечать успешными (например, сенсоры при локальном тесте) |
--use-executor |
Использовать executor (по умолчанию DAG запускается без executor) |
--save-dagrun |
Сохранить диаграмму DAG Run в файл (формат по расширению) |
--show-dagrun |
Показать диаграмму в формате DOT |
airflow dags delete / details / state / next-execution / show / reserialize / report / list-import-errors / list-jobs
- delete — удалить все записи DAG из БД:
dag_id, -y, -v
- details — детали DAG:
dag_id, -o
- state — статус Dag Run:
dag_id, logical_date_or_run_id
- next-execution — следующие логические даты:
dag_id, -n NUM_EXECUTIONS
- show — граф DAG:
dag_id, --imgcat, -s SAVE
- reserialize — пересериализовать DAG в БД (после смены версии Airflow)
- report — отчёт загрузки DagBag
- list-import-errors — DAG с ошибками импорта
- list-jobs — джобы:
-d DAG_ID, --state, --limit
backfill create
Прогон части DAG за диапазон дат.
| Аргумент |
Описание |
--dag-id |
ID DAG |
--from-date |
Начальная логическая дата |
--to-date |
Конечная логическая дата |
--dag-run-conf |
JSON conf DagRun |
--dry-run |
Только симуляция |
--max-active-runs |
Макс. число активных запусков |
--reprocess-behavior |
none, completed, failed — при уже существующем run |
--run-backwards |
От новой даты к старой (не поддерживается при depend_on_past) |
--run-on-latest-version |
(эксп.) Использовать последнюю версию bundle (по умолчанию True) |
tasks
Работа с задачами.
airflow tasks list
| Аргумент |
Описание |
dag_id |
(позиционный) ID DAG |
-B, --bundle-name |
Имя DAG bundle |
airflow tasks test
Запуск одной задачи без учёта зависимостей и без записи состояния в БД.
| Аргумент |
Описание |
dag_id, task_id |
(позиционные) ID DAG и задачи |
logical_date_or_run_id |
(позиционный, опционально) Логическая дата или run_id |
-B, --bundle-name |
Имя DAG bundle |
--map-index |
Индекс для mapped task |
-t, --task-params |
JSON params для задачи |
--env-vars |
JSON env vars (parsing + runtime) |
-m, --post-mortem |
Открыть отладчик при необработанном исключении |
airflow tasks state / states-for-dag-run / render
- state — статус одного Task Instance:
dag_id, task_id, logical_date_or_run_id, --map-index
- states-for-dag-run — статусы всех TI в Dag Run:
dag_id, logical_date_or_run_id, -o
- render — отрендерить шаблоны задачи:
dag_id, task_id, logical_date_or_run_id, --map-index
db
Операции с БД метаданных.
airflow db check / check-migrations
| Команда |
Аргументы |
Описание |
db check |
--retry, --retry-delay |
Проверка доступности БД |
db check-migrations |
-t, --migration-wait-timeout |
Ожидание завершения миграций (или до таймаута) |
airflow db migrate / downgrade
| Аргумент |
Описание |
-r, --to-revision |
Ревизия Alembic (migrate — до какой, downgrade — до какой откатиться) |
-n, --to-version |
Версия Airflow (альтернатива to-revision) |
--from-revision / --from-version |
Только при -s (генерация SQL) |
-s, --show-sql-only |
Только вывести SQL, не выполнять |
airflow db clean
Очистка старых записей в таблицах метаданных.
| Аргумент |
Описание |
--clean-before-timestamp |
Удалить/архивировать данные до этой даты/времени |
-t, --tables |
Таблицы (через запятую), например: dag_run, task_instance, log, job, xcom и др. |
--batch-size |
Размер батча при удалении/архиве |
--dry-run |
Только симуляция |
--skip-archive |
Не сохранять в архивную таблицу |
-y, --yes |
Без подтверждения |
airflow db reset / shell / drop-archived / export-archived
- reset — пересоздать БД:
-s (только удалить таблицы, без init), -y
- shell — интерактивная оболочка к БД
- drop-archived — удалить архивные таблицы (созданные через db clean):
-t, -y
- export-archived — экспорт из архивных таблиц:
--output-path, --export-format csv, -t, --drop-archives, -y
variables
Управление переменными.
| Команда |
Аргументы |
Описание |
variables get key |
-d, --default, -j, --json |
Получить значение (default — если нет ключа; json — десериализовать JSON) |
variables set key VALUE |
--description, -j, --json |
Установить переменную |
variables list |
-o, --output |
Список переменных |
variables delete key |
— |
Удалить переменную |
variables export file |
— |
Экспорт в JSON-файл |
variables import file |
-a, --action-on-existing-key: overwrite, fail, skip |
Импорт из .env, .json, .yaml, .yml |
connections
Управление подключениями.
| Команда |
Основные аргументы |
Описание |
connections add conn_id |
--conn-uri или --conn-type + host/login/port/schema/password/extra; --conn-json |
Добавить подключение |
connections get conn_id |
-o (table, json, yaml, plain) |
Получить подключение |
connections list |
--conn-id, -o |
Список подключений |
connections delete conn_id |
— |
Удалить подключение |
connections test conn_id |
— |
Проверить подключение |
connections export file |
--file-format (json, yaml, env), --serialization-format (json, uri) |
Экспорт |
connections import file |
--overwrite |
Импорт |
config
Просмотр и обновление конфигурации.
| Подкоманда |
Описание |
config get-value section option |
Вывести значение опции |
config list |
Список опций: --section, -d (описания), -V (env vars), -e (примеры), -s (источники), -a (только defaults), -p (без провайдеров), -c (закомментировать всё) |
config lint |
Проверка конфига при миграции 2.x → 3.0: --section, --option, --ignore-section, --ignore-option |
config update |
Применение изменений при миграции: --fix, --all-recommendations, те же фильтры section/option |
Переменные окружения
| Переменная |
Описание |
AIRFLOW__{SECTION}__{KEY} |
Установка опции конфигурации (приоритет над airflow.cfg). Пример: AIRFLOW__CORE__DAGS_FOLDER |
AIRFLOW__{SECTION}__{KEY}_CMD |
Команда, результат которой подставляется как значение (поддерживается для sql_alchemy_conn, fernet_key, broker_url, result_backend, secret_key и др.) |
AIRFLOW__{SECTION}__{KEY}_SECRET |
Получить значение из Secrets Backend для той же группы опций, что и _CMD |
AIRFLOW_CONFIG |
Путь к файлу конфигурации Airflow |
AIRFLOW_HOME |
Корневой каталог Airflow (DAG, логи и т.д.) |
AIRFLOW_CONN_{CONN_ID} |
Подключение с именем {CONN_ID}; значение — URI. Пример: AIRFLOW_CONN_PROXY_POSTGRES_TCP |
AIRFLOW_VAR_{KEY} |
Переменная Airflow с именем {KEY} |
Подробнее: Setting Configuration Options, Storing connections in environment variables, Managing Variables.
Источник: CLI and Environment Variables Reference. Выжимка неофициальная.