内容
命令行界面和环境变量参考¶
命令行界面¶
Airflow 具有非常丰富的命令行界面,它允许对 DAG 进行多种类型的操作、启动服务以及支持开发和测试。
注意
有关使用 CLI 的更多信息,请参阅 使用命令行界面
实现执行器的提供程序可能会向 CLI 贡献其他命令。以下是社区提供程序贡献的命令
Celery 执行器和相关的 CLI 命令:Celery 执行器命令
Kubernetes 执行器和相关的 CLI 命令:Kubernetes 执行器命令
AWS 和相关的 CLI 命令:Amazon CLI 命令
users
和roles
CLI 命令在 FAB 提供程序文档中描述 FAB CLI 命令
Usage: airflow [-h] GROUP_OR_COMMAND ...
位置参数¶
- GROUP_OR_COMMAND
可能的选择:速查表、配置、连接、DAG 处理器、DAG、数据库、信息、内部 API、作业、Kerberos、插件、池、提供程序、角色、轮换 Fernet 密钥、调度器、独立、同步权限、任务、触发器、用户、变量、版本、Web 服务器
子命令¶
配置¶
查看配置
airflow config [-h] COMMAND ...
位置参数¶
- 命令
可能的选择:获取值、列表
子命令¶
获取值¶
打印配置的值
airflow config get-value [-h] [-v] section option
- section
节名称
- option
选项名称
- -v, --verbose
使日志输出更详细
默认:False
列表¶
列出配置的选项
airflow config list [-h] [--color {on,off,auto}] [-c] [-a] [-p] [-d] [-V] [-e]
[-s] [--section SECTION] [-v]
- --color
可能的选择:on、off、auto
是否发出彩色输出(默认值:自动)
默认值:“auto”
- -c, --comment-out-everything
注释掉所有配置选项。作为新安装的起点很有用
默认:False
- -a, --defaults
仅显示默认值 - 不包括本地配置、源、包含说明、示例、变量。注释掉所有内容。
默认:False
- -p, --exclude-providers
排除提供程序配置(默认情况下包括它们)
默认:False
- -d, --include-descriptions
显示配置变量的说明
默认:False
- -V, --include-env-vars
显示每个选项的环境变量
默认:False
- -e, --include-examples
显示配置变量的示例
默认:False
- -s, --include-sources
显示配置变量的来源
默认:False
- --section
节名称
- -v, --verbose
使日志输出更详细
默认:False
连接¶
管理连接
airflow connections [-h] COMMAND ...
位置参数¶
- 命令
可能的选择:添加、创建默认连接、删除、导出、获取、导入、列表、测试
子命令¶
添加¶
添加连接
airflow connections add [-h] [--conn-description CONN_DESCRIPTION]
[--conn-extra CONN_EXTRA] [--conn-host CONN_HOST]
[--conn-json CONN_JSON] [--conn-login CONN_LOGIN]
[--conn-password CONN_PASSWORD]
[--conn-port CONN_PORT] [--conn-schema CONN_SCHEMA]
[--conn-type CONN_TYPE] [--conn-uri CONN_URI]
conn_id
- conn_id
连接 ID,获取/添加/删除/测试连接时需要
- --conn-description
连接描述,添加连接时可选
- --conn-extra
连接 Extra 字段,添加连接时可选
- --conn-host
连接主机,添加连接时可选
- --conn-json
连接 JSON,使用 JSON 表示形式添加连接时需要
- --conn-login
连接登录名,添加连接时可选
- --conn-password
连接密码,添加连接时可选
- --conn-port
连接端口,添加连接时可选
- --conn-schema
连接架构,添加连接时可选
- --conn-type
连接类型,在没有 conn_uri 的情况下添加连接时需要
- --conn-uri
连接 URI,在没有 conn_type 的情况下添加连接时需要
创建默认连接¶
从所有提供程序创建所有默认连接
airflow connections create-default-connections [-h] [-v]
- -v, --verbose
使日志输出更详细
默认:False
删除¶
删除连接
airflow connections delete [-h] [--color {on,off,auto}] [-v] conn_id
- conn_id
连接 ID,获取/添加/删除/测试连接时需要
- --color
可能的选择:on、off、auto
是否发出彩色输出(默认值:自动)
默认值:“auto”
- -v, --verbose
使日志输出更详细
默认:False
导出¶
可以使用以下命令在 STDOUT 中导出所有连接:airflow connections export - 文件格式可以由提供的文件扩展名确定。例如,以下命令将以 JSON 格式导出连接:airflow connections export /tmp/connections.json 可以使用 –file-format 参数来控制文件格式。例如,默认格式是 STDOUT 模式下的 JSON,可以使用以下命令覆盖:airflow connections export - –file-format yaml –file-format 参数也可以用于文件,例如:airflow connections export /tmp/connections –file-format json。以 env 文件格式导出时,可以通过传递选项 –serialization-format 的 uri 或 json 来控制是使用 URI 格式还是 JSON 格式来序列化连接。
airflow connections export [-h] [--file-format {json,yaml,env}]
[--format {json,yaml,env}]
[--serialization-format {json,uri}] [-v]
file
- file
用于导出连接的输出文件路径
- --file-format
可能的选择:json、yaml、env
导出文件的格式
- --format
可能的选择:json、yaml、env
已弃用 - 请改用 –file-format。用于导出的文件格式。
- --serialization-format
可能的选择:json、uri
以 .env 格式导出时,定义应如何序列化连接。默认值为 uri。
- -v, --verbose
使日志输出更详细
默认:False
获取¶
获取连接
airflow connections get [-h] [--color {on,off,auto}]
[-o table, json, yaml, plain] [-v]
conn_id
- conn_id
连接 ID,获取/添加/删除/测试连接时需要
- --color
可能的选择:on、off、auto
是否发出彩色输出(默认值:自动)
默认值:“auto”
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
导入¶
可以从导出命令的输出导入连接。文件类型必须是 json、yaml 或 env,并且会自动推断。
airflow connections import [-h] [--overwrite] [-v] file
- file
从文件导入连接
- --overwrite
如果发生冲突,则覆盖现有条目
默认:False
- -v, --verbose
使日志输出更详细
默认:False
DAG 处理器¶
启动独立的 DAG 处理器实例
airflow dag-processor [-h] [-D] [-p] [-l LOG_FILE] [-n NUM_RUNS] [--pid [PID]]
[--stderr STDERR] [--stdout STDOUT] [-S SUBDIR] [-v]
命名参数¶
- -D, --daemon
守护进程而不是在前台运行
默认:False
- -p, --do-pickle
尝试 pickle DAG 对象以发送到工作进程,而不是让工作进程运行其代码版本
默认:False
- -l, --log-file
日志文件的位置
- -n, --num-runs
设置退出前要执行的运行次数
默认值:-1
- --pid
PID 文件位置
- --stderr
将 stderr 重定向到此文件
- --stdout
将 stdout 重定向到此文件
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
dags¶
管理 DAG
airflow dags [-h] COMMAND ...
位置参数¶
- 命令
可选值:backfill, delete, details, list, list-import-errors, list-jobs, list-runs, next-execution, pause, report, reserialize, show, show-dependencies, state, test, trigger, unpause
子命令¶
backfill¶
在指定日期范围内运行 DAG 的子部分。如果使用 reset_dag_run 选项,backfill 将首先提示用户是否应清除 backfill 日期范围内的所有先前 dag_run 和 task_instances。如果使用 rerun_failed_tasks,backfill 将自动重新运行 backfill 日期范围内先前失败的任务实例
airflow dags backfill [-h] [-c CONF] [--continue-on-failures]
[--delay-on-limit DELAY_ON_LIMIT] [--disable-retry] [-x]
[-n] [-e END_DATE] [-i] [-I] [-l] [-m] [--pool POOL]
[--rerun-failed-tasks] [--reset-dagruns] [-B]
[-s START_DATE] [-S SUBDIR] [-t TASK_REGEX]
[--treat-dag-as-regex] [--treat-dag-id-as-regex] [-v]
[-y]
dag_id
- dag_id
DAG 的 ID
- -c, --conf
JSON 字符串,会被序列化到 DagRun 的 conf 属性中
- --continue-on-failures
如果设置,即使某些任务失败,backfill 也会继续执行
默认:False
- --delay-on-limit
当达到最大活动 DAG 运行次数限制 (max_active_runs) 时,在尝试再次执行 DAG 运行之前等待的时间(以秒为单位)
默认值: 1.0
- --disable-retry
如果设置,backfill 会将任务设置为失败而不重试。
默认:False
- -x, --donot-pickle
不要尝试序列化 DAG 对象并将其发送给 worker,只需告诉 worker 运行他们版本的代码
默认:False
- -n, --dry-run
对每个任务执行空运行。仅渲染每个任务的模板字段,不做其他操作
默认:False
- -e, --end-date
覆盖结束日期 YYYY-MM-DD
- -i, --ignore-dependencies
跳过上游任务,仅运行与正则表达式匹配的任务。仅与 task_regex 一起使用
默认:False
- -I, --ignore-first-depends-on-past
仅忽略第一组任务的 depends_on_past 依赖项(回填中的后续执行确实遵守 depends_on_past)
默认:False
- -l, --local
使用 LocalExecutor 运行任务
默认:False
- -m, --mark-success
将作业标记为成功,而不运行它们
默认:False
- --pool
要使用的资源池
- --rerun-failed-tasks
如果设置,backfill 将自动重新运行 backfill 日期范围内的所有失败任务,而不是抛出异常
默认:False
- --reset-dagruns
如果设置,backfill 将删除现有的与 backfill 相关的 DAG 运行,并以新的正在运行的 DAG 运行重新开始
默认:False
- -B, --run-backwards
如果设置,backfill 将首先从最近的一天开始运行任务。如果有依赖于过去的 depends_on_past 任务,此选项将抛出异常
默认:False
- -s, --start-date
覆盖开始日期 YYYY-MM-DD
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -t, --task-regex
过滤特定 task_ids 的正则表达式(可选)
- --treat-dag-as-regex
已弃用 - 请改用 –treat-dag-id-as-regex
默认:False
- --treat-dag-id-as-regex
如果设置,dag_id 将被视为正则表达式而不是精确的字符串
默认:False
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
delete¶
删除与指定 DAG 相关的所有数据库记录
airflow dags delete [-h] [-v] [-y] dag_id
- dag_id
DAG 的 ID
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
details¶
获取给定 DAG ID 的 DAG 详细信息
airflow dags details [-h] [-o table, json, yaml, plain] [-v] dag_id
- dag_id
DAG 的 ID
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
list¶
列出所有 DAG
airflow dags list [-h] [--columns COLUMNS] [-o table, json, yaml, plain]
[-S SUBDIR] [-v]
- --columns
要渲染的列列表。(默认值:[‘dag_id’, ‘fileloc’, ‘owner’, ‘is_paused’])
默认值: (‘dag_id’, ‘fileloc’, ‘owners’, ‘is_paused’)
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
list-import-errors¶
列出所有具有导入错误的 DAG
airflow dags list-import-errors [-h] [-o table, json, yaml, plain] [-S SUBDIR]
[-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
list-jobs¶
列出作业
airflow dags list-jobs [-h] [-d DAG_ID] [--limit LIMIT]
[-o table, json, yaml, plain]
[--state running, success, restarting, failed] [-v]
- -d, --dag-id
DAG 的 ID
- --limit
返回有限数量的记录
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- --state
可选值:running, success, restarting, failed
仅列出与状态对应的作业
- -v, --verbose
使日志输出更详细
默认:False
list-runs¶
列出给定 DAG ID 的 DAG 运行。如果给出 state 选项,则只会搜索具有给定状态的所有 dagruns。如果给出 no_backfill 选项,它将过滤掉给定 dag id 的所有 backfill dagruns。如果给出 start_date,它将过滤掉在此日期之前执行的所有 dagruns。如果给出 end_date,它将过滤掉在此日期之后执行的所有 dagruns。
airflow dags list-runs [-h] -d DAG_ID [-e END_DATE] [--no-backfill]
[-o table, json, yaml, plain] [-s START_DATE]
[--state queued, running, success, failed] [-v]
- -d, --dag-id
DAG 的 ID
- -e, --end-date
覆盖结束日期 YYYY-MM-DD
- --no-backfill
过滤掉给定 dag id 的所有 backfill dagruns
默认:False
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -s, --start-date
覆盖开始日期 YYYY-MM-DD
- --state
可选值:queued, running, success, failed
仅列出与状态对应的 DAG 运行
- -v, --verbose
使日志输出更详细
默认:False
next-execution¶
获取 DAG 的下一个执行时间。它返回一个执行时间,除非给出了 num-executions 选项
airflow dags next-execution [-h] [-n NUM_EXECUTIONS] [-S SUBDIR] [-v] dag_id
- dag_id
DAG 的 ID
- -n, --num-executions
要显示的下一个执行时间的数量
默认值: 1
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
pause¶
暂停一个或多个 DAG。此命令允许停止指定 DAG 的执行,禁用进一步的任务调度。使用 –treat-dag-id-as-regex 通过将 –dag-id 视为正则表达式模式来定位多个 DAG。
airflow dags pause [-h] [-o table, json, yaml, plain] [-S SUBDIR]
[--treat-dag-id-as-regex] [-v] [-y]
dag_id
- dag_id
DAG 的 ID
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- --treat-dag-id-as-regex
如果设置,dag_id 将被视为正则表达式而不是精确的字符串
默认:False
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
report¶
显示 DagBag 加载报告
airflow dags report [-h] [-o table, json, yaml, plain] [-S SUBDIR] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
reserialize¶
从元数据数据库中删除所有序列化的 DAG。这将导致所有 DAG 从 DagBag 文件夹重新序列化。如果你的序列化 DAG 与你正在运行的 Airflow 版本不同步,这可能会很有帮助。
airflow dags reserialize [-h] [--clear-only] [-S SUBDIR] [-v]
- --clear-only
如果传递,将清除序列化的 DAG,但不会重新序列化。
默认:False
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
show¶
–imgcat 选项仅在 iTerm 中有效。
有关更多信息,请参阅:https://www.iterm2.com/documentation-images.html
–save 选项将结果保存到指示的文件中。
文件格式由文件扩展名确定。有关支持的格式的更多信息,请参阅:https://graphviz.cpp.org.cn/doc/info/output.html
如果要创建 PNG 文件,则应执行以下命令:airflow dags show <DAG_ID> –save output.png
如果要创建 DOT 文件,则应执行以下命令:airflow dags show <DAG_ID> –save output.dot
airflow dags show [-h] [--imgcat] [-s SAVE] [-S SUBDIR] [-v] dag_id
- dag_id
DAG 的 ID
- --imgcat
使用 imgcat 工具显示图表。
默认:False
- -s, --save
将结果保存到指示的文件中。
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
show-dependencies¶
–imgcat 选项仅在 iTerm 中有效。
有关更多信息,请参阅:https://www.iterm2.com/documentation-images.html
–save 选项将结果保存到指示的文件中。
文件格式由文件扩展名确定。有关支持的格式的更多信息,请参阅:https://graphviz.cpp.org.cn/doc/info/output.html
如果要创建 PNG 文件,则应执行以下命令:airflow dags show-dependencies –save output.png
如果要创建 DOT 文件,则应执行以下命令:airflow dags show-dependencies –save output.dot
airflow dags show-dependencies [-h] [--imgcat] [-s SAVE] [-S SUBDIR] [-v]
- --imgcat
使用 imgcat 工具显示图表。
默认:False
- -s, --save
将结果保存到指示的文件中。
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
state¶
获取 DAG 运行的状态
airflow dags state [-h] [-S SUBDIR] [-v] dag_id execution_date
- dag_id
DAG 的 ID
- execution_date
DAG 的执行日期
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
test¶
为给定的 DAG 和执行日期执行一个单一的 DagRun。
–imgcat-dagrun 选项仅在 iTerm 中有效。
有关更多信息,请参阅:https://www.iterm2.com/documentation-images.html
如果使用 –save-dagrun,则在完成 backfill 后,将当前 DAG 运行的图表保存到指示的文件中。文件格式由文件扩展名确定。有关支持的格式的更多信息,请参阅:https://graphviz.cpp.org.cn/doc/info/output.html
如果要创建 PNG 文件,则应执行以下命令:airflow dags test <DAG_ID> <EXECUTION_DATE> –save-dagrun output.png
如果要创建 DOT 文件,则应执行以下命令:airflow dags test <DAG_ID> <EXECUTION_DATE> –save-dagrun output.dot
airflow dags test [-h] [-c CONF] [--imgcat-dagrun]
[--mark-success-pattern MARK_SUCCESS_PATTERN]
[--save-dagrun SAVE_DAGRUN] [--show-dagrun] [-S SUBDIR]
[--use-executor] [-v]
dag_id [execution_date]
- dag_id
DAG 的 ID
- execution_date
DAG 的执行日期(可选)
- -c, --conf
JSON 字符串,会被序列化到 DagRun 的 conf 属性中
- --imgcat-dagrun
完成 dag 运行后,使用 imgcat 工具在屏幕上打印当前 DAG 运行的图表。
默认:False
- --mark-success-pattern
不要运行与正则表达式 <MARK_SUCCESS_PATTERN> 匹配的 task_ids,而是将它们标记为成功。可用于跳过本地测试中的依赖项检查传感器或清理步骤。
- --save-dagrun
在完成 backfill 后,将当前 DAG 运行的图表保存到指示的文件中。
- --show-dagrun
在完成 backfill 后,显示当前 DAG 运行的图表。
该图表采用 DOT 语言
默认:False
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- --use-executor
使用执行器测试 DAG。默认情况下,它在没有执行器的情况下运行 DAG。如果设置,它将使用环境中配置的执行器。
默认:False
- -v, --verbose
使日志输出更详细
默认:False
触发¶
触发一个新的 DAG 运行。如果 DAG 已暂停,则 dagrun 状态将保持排队状态,并且任务将不会运行。
airflow dags trigger [-h] [-c CONF] [-e EXEC_DATE] [--no-replace-microseconds]
[-o table, json, yaml, plain] [-r RUN_ID] [-S SUBDIR]
[-v]
dag_id
- dag_id
DAG 的 ID
- -c, --conf
JSON 字符串,会被序列化到 DagRun 的 conf 属性中
- -e, --exec-date
DAG 的执行日期
- --no-replace-microseconds
是否应将微秒置零
默认值:True
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -r, --run-id
有助于识别此运行
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
取消暂停¶
恢复一个或多个 DAG。此命令允许恢复指定 DAG 的执行,从而启用进一步的任务调度。使用 --treat-dag-id-as-regex 将 --dag-id 视为正则表达式模式来定位多个 DAG。
airflow dags unpause [-h] [-o table, json, yaml, plain] [-S SUBDIR]
[--treat-dag-id-as-regex] [-v] [-y]
dag_id
- dag_id
DAG 的 ID
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- --treat-dag-id-as-regex
如果设置,dag_id 将被视为正则表达式而不是精确的字符串
默认:False
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
数据库¶
数据库操作
airflow db [-h] COMMAND ...
位置参数¶
- 命令
可选值:check, check-migrations, clean, downgrade, drop-archived, export-archived, init, migrate, reset, shell, upgrade
子命令¶
检查¶
检查是否可以访问数据库
airflow db check [-h] [--retry RETRY] [--retry-delay RETRY_DELAY] [-v]
- --retry
在失败时重试数据库检查
默认值:0
- --retry-delay
重试之间的等待时间(秒)
默认值: 1
- -v, --verbose
使日志输出更详细
默认:False
检查迁移¶
检查迁移是否已完成(或持续检查直到超时)
airflow db check-migrations [-h] [-t MIGRATION_WAIT_TIMEOUT] [-v]
- -t, --migration-wait-timeout
等待数据库迁移的超时时间
默认值:60
- -v, --verbose
使日志输出更详细
默认:False
清理¶
清除元存储表中的旧记录
airflow db clean [-h] --clean-before-timestamp CLEAN_BEFORE_TIMESTAMP
[--dry-run] [--skip-archive] [-t TABLES] [-v] [-y]
- --clean-before-timestamp
应清除数据的日期或时间戳。如果未提供时区信息,则假定日期采用 Airflow 默认时区。示例:'2022-01-01 00:00:00+01:00'
- --dry-run
执行空运行
默认:False
- --skip-archive
不要在存档表中保留已清除的记录。
默认:False
- -t, --tables
要执行维护的表名称(使用逗号分隔的列表)。选项:['callback_request', 'celery_taskmeta', 'celery_tasksetmeta', 'dag', 'dag_run', 'dataset_event', 'import_error', 'job', 'log', 'session', 'sla_miss', 'task_fail', 'task_instance', 'task_instance_history', 'task_reschedule', 'trigger', 'xcom']
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
降级¶
降级元数据数据库的模式。您必须提供 --to-revision 或 --to-version。要打印但不执行命令,请使用选项 --show-sql-only。如果使用选项 --from-revision 或 --from-version,您还必须使用 --show-sql-only,因为如果实际运行迁移,我们应该仅从当前 Alembic 修订版本进行迁移。
airflow db downgrade [-h] [--from-revision FROM_REVISION]
[--from-version FROM_VERSION] [-s] [-r TO_REVISION]
[-n TO_VERSION] [-v] [-y]
- --from-revision
(可选)如果生成 sql,可以提供一个 from Alembic 修订版本
- --from-version
(可选)如果生成 sql,可以提供一个 from 版本
- -s, --show-sql-only
不实际运行迁移;仅打印出用于脱机迁移的 sql 脚本。如果使用 --from-revision 或 --from-version 中的任一选项,则为必填项。
默认:False
- -r, --to-revision
要降级到的 Alembic 修订版本。注意:必须提供 --to-revision 或 --to-version。
- -n, --to-version
(可选)如果提供,则仅运行到此版本的迁移。
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
删除存档¶
删除通过 db clean 命令创建的存档表
airflow db drop-archived [-h] [-t TABLES] [-y]
- -t, --tables
要执行维护的表名称(使用逗号分隔的列表)。选项:['callback_request', 'celery_taskmeta', 'celery_tasksetmeta', 'dag', 'dag_run', 'dataset_event', 'import_error', 'job', 'log', 'session', 'sla_miss', 'task_fail', 'task_instance', 'task_instance_history', 'task_reschedule', 'trigger', 'xcom']
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
导出存档¶
从存档表中导出存档数据
airflow db export-archived [-h] [--drop-archives] [--export-format {csv}]
--output-path DIRPATH [-t TABLES] [-y]
- --drop-archives
导出后删除存档表。谨慎使用。
默认:False
- --export-format
可选值:csv
用于导出清理数据的文件格式
默认值:“csv”
- --output-path
用于导出清理数据的输出目录的路径。此目录必须存在。
- -t, --tables
要执行维护的表名称(使用逗号分隔的列表)。选项:['callback_request', 'celery_taskmeta', 'celery_tasksetmeta', 'dag', 'dag_run', 'dataset_event', 'import_error', 'job', 'log', 'session', 'sla_miss', 'task_fail', 'task_instance', 'task_instance_history', 'task_reschedule', 'trigger', 'xcom']
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
迁移¶
迁移元数据数据库的模式。如果数据库不存在,则创建该数据库。要打印但不执行命令,请使用 --show-sql-only
选项。如果使用 --from-revision
或 --from-version
选项,您还必须使用 --show-sql-only
,因为如果实际运行迁移,我们应该仅从当前 Alembic 修订版本进行迁移。
airflow db migrate [-h] [--from-revision FROM_REVISION]
[--from-version FROM_VERSION] [-s] [-r TO_REVISION]
[-n TO_VERSION] [-m] [-v]
- --from-revision
(可选)如果生成 sql,可以提供一个 from Alembic 修订版本
- --from-version
(可选)如果生成 sql,可以提供一个 from 版本
- -s, --show-sql-only
不实际运行迁移;仅打印出用于脱机迁移的 sql 脚本。如果使用 --from-revision 或 --from-version 中的任一选项,则为必填项。
默认:False
- -r, --to-revision
(可选)如果提供,则仅运行到并包括此 Alembic 修订版本的迁移。
- -n, --to-version
(可选)要升级到的 Airflow 版本。注意:必须提供 --to-revision 或 --to-version。
- -m, --use-migration-files
使用迁移文件执行迁移
默认:False
- -v, --verbose
使日志输出更详细
默认:False
重置¶
销毁并重建元数据数据库
airflow db reset [-h] [-s] [-m] [-v] [-y]
- -s, --skip-init
仅删除表;不执行数据库初始化。
默认:False
- -m, --use-migration-files
使用迁移文件执行迁移
默认:False
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
升级¶
未记录
airflow db upgrade [-h] [--from-revision FROM_REVISION]
[--from-version FROM_VERSION] [-s] [-r TO_REVISION]
[-n TO_VERSION] [-m] [-v]
- --from-revision
(可选)如果生成 sql,可以提供一个 from Alembic 修订版本
- --from-version
(可选)如果生成 sql,可以提供一个 from 版本
- -s, --show-sql-only
不实际运行迁移;仅打印出用于脱机迁移的 sql 脚本。如果使用 --from-revision 或 --from-version 中的任一选项,则为必填项。
默认:False
- -r, --to-revision
(可选)如果提供,则仅运行到并包括此 Alembic 修订版本的迁移。
- -n, --to-version
(可选)要升级到的 Airflow 版本。注意:必须提供 --to-revision 或 --to-version。
- -m, --use-migration-files
使用迁移文件执行迁移
默认:False
- -v, --verbose
使日志输出更详细
默认:False
信息¶
显示有关当前 Airflow 和环境的信息
airflow info [-h] [--anonymize] [--file-io] [-o table, json, yaml, plain] [-v]
命名参数¶
- --anonymize
最大限度地减少任何个人身份信息。在与他人共享输出时使用它。
默认:False
- --file-io
将输出发送到 file.io 服务并返回链接。
默认:False
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
内部 API¶
启动 Airflow 内部 API 实例
airflow internal-api [-h] [-A ACCESS_LOGFILE] [-L ACCESS_LOGFORMAT] [-D] [-d]
[-E ERROR_LOGFILE] [-H HOSTNAME] [-l LOG_FILE]
[--pid [PID]] [-p PORT] [--ssl-cert SSL_CERT]
[--ssl-key SSL_KEY] [--stderr STDERR] [--stdout STDOUT]
[-t WORKER_TIMEOUT] [-k {sync,eventlet,gevent,tornado}]
[-w WORKERS]
命名参数¶
- -A, --access-logfile
用于存储访问日志的日志文件。使用“ - ”打印到 stdout
- -L, --access-logformat
gunicorn 日志的访问日志格式
- -D, --daemon
守护进程而不是在前台运行
默认:False
- -d, --debug
在调试模式下使用 Flask 附带的服务器
默认:False
- -E, --error-logfile
用于存储错误日志的日志文件。使用“ - ”打印到 stderr
- -H, --hostname
设置运行 Web 服务器的主机名
默认值:“0.0.0.0”
- -l, --log-file
日志文件的位置
- --pid
PID 文件位置
- -p, --port
运行服务器的端口
默认值:9080
- --ssl-cert
Web 服务器的 SSL 证书路径
默认值:“”
- --ssl-key
用于 SSL 证书的密钥的路径
默认值:“”
- --stderr
将 stderr 重定向到此文件
- --stdout
将 stdout 重定向到此文件
- -t, --worker-timeout
等待内部 API 工作程序的超时时间
默认值:120
- -k, --workerclass
可选值:sync, eventlet, gevent, tornado
用于 Gunicorn 的工作程序类
默认值:“sync”
- -w, --workers
运行内部 API 的工作程序数
默认值:4
作业¶
管理作业
airflow jobs [-h] COMMAND ...
位置参数¶
- 命令
可选值:check
子命令¶
检查¶
检查作业是否仍在运行
airflow jobs check [-h] [--allow-multiple] [--hostname HOSTNAME]
[--job-type {BackfillJob,LocalTaskJob,SchedulerJob,TriggererJob,DagProcessorJob}]
[--limit LIMIT] [--local] [-v]
- --allow-multiple
如果传递此参数,即使找到多个匹配的活动作业,此命令也会成功。
默认:False
- --hostname
要检查的作业的主机名。
- --job-type
可选值:BackfillJob, LocalTaskJob, SchedulerJob, TriggererJob, DagProcessorJob
要检查的作业类型。
- --limit
将检查的最近作业的数量。要禁用限制,请设置为 0。
默认值: 1
- --local
如果传递此参数,此命令将仅显示来自本地主机的作业(主机名与 hostname_callable 返回的值匹配的作业)。
默认:False
- -v, --verbose
使日志输出更详细
默认:False
示例:要检查本地调度程序是否仍在正常工作,请运行
$ airflow jobs check --job-type SchedulerJob --local”
要在使用高可用性时检查是否有任何调度程序在运行,请运行
$ airflow jobs check --job-type SchedulerJob --allow-multiple --limit 100
Kerberos¶
启动 Kerberos 票证更新器
airflow kerberos [-h] [-D] [-k [KEYTAB]] [-l LOG_FILE] [-o] [--pid [PID]]
[--stderr STDERR] [--stdout STDOUT] [-v]
[principal]
位置参数¶
- principal
Kerberos 主体
命名参数¶
- -D, --daemon
守护进程而不是在前台运行
默认:False
- -k, --keytab
keytab
默认值:“airflow.keytab”
- -l, --log-file
日志文件的位置
- -o, --one-time
运行 Airflow Kerberos 一次而不是永远运行
默认:False
- --pid
PID 文件位置
- --stderr
将 stderr 重定向到此文件
- --stdout
将 stdout 重定向到此文件
- -v, --verbose
使日志输出更详细
默认:False
插件¶
转储有关已加载插件的信息
airflow plugins [-h] [-o table, json, yaml, plain] [-v]
命名参数¶
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
池¶
管理池
airflow pools [-h] COMMAND ...
位置参数¶
- 命令
可选项: delete, export, get, import, list, set
子命令¶
delete¶
删除池
airflow pools delete [-h] [-o table, json, yaml, plain] [-v] NAME
- NAME
池名称
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
export¶
导出所有池
airflow pools export [-h] [-v] FILEPATH
- FILEPATH
将所有池导出到 JSON 文件
- -v, --verbose
使日志输出更详细
默认:False
get¶
获取池大小
airflow pools get [-h] [-o table, json, yaml, plain] [-v] NAME
- NAME
池名称
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
import¶
导入池
airflow pools import [-h] [-v] FILEPATH
- FILEPATH
从 JSON 文件导入池。示例格式
{ "pool_1": {"slots": 5, "description": "", "include_deferred": true}, "pool_2": {"slots": 10, "description": "test", "include_deferred": false} }
- -v, --verbose
使日志输出更详细
默认:False
list¶
列出池
airflow pools list [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
set¶
配置池
airflow pools set [-h] [--include-deferred] [-o table, json, yaml, plain] [-v]
NAME slots description
- NAME
池名称
- slots
池槽位
- description
池描述
- --include-deferred
在池的计算中包含延迟的任务
默认:False
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
提供者¶
显示提供者
airflow providers [-h] COMMAND ...
位置参数¶
- 命令
可选项: auth, auth-managers, behaviours, configs, executors, get, hooks, lazy-loaded, links, list, logging, notifications, secrets, triggers, widgets
子命令¶
auth¶
获取有关提供的 API 身份验证后端的信息
airflow providers auth [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
auth-managers¶
获取有关提供的身份验证管理器信息
airflow providers auth-managers [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
behaviours¶
获取有关具有自定义行为的注册连接类型的信息
airflow providers behaviours [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
configs¶
获取有关提供程序配置的信息
airflow providers configs [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
executors¶
获取有关提供的执行器信息
airflow providers executors [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
get¶
获取有关提供程序的详细信息
airflow providers get [-h] [--color {on,off,auto}] [-f]
[-o table, json, yaml, plain] [-v]
provider_name
- provider_name
提供程序名称,获取提供程序信息时必需
- --color
可能的选择:on、off、auto
是否发出彩色输出(默认值:自动)
默认值:“auto”
- -f, --full
有关提供程序的完整信息,包括文档信息。
默认:False
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
hooks¶
列出注册的提供程序钩子
airflow providers hooks [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
lazy-loaded¶
检查是否延迟加载了提供程序配置
airflow providers lazy-loaded [-h] [-v]
- -v, --verbose
使日志输出更详细
默认:False
links¶
列出提供程序注册的额外链接
airflow providers links [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
list¶
列出已安装的提供程序
airflow providers list [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
logging¶
获取有关提供的任务日志处理程序的信息
airflow providers logging [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
notifications¶
获取有关提供的通知的信息
airflow providers notifications [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
secrets¶
获取有关提供的密钥后端的信息
airflow providers secrets [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
角色¶
管理角色
airflow roles [-h] COMMAND ...
位置参数¶
- 命令
可选项: add-perms, create, del-perms, delete, export, import, list
子命令¶
add-perms¶
添加角色权限
airflow roles add-perms [-h] -a [ACTION [ACTION ...]] -r
[RESOURCE [RESOURCE ...]] [-v]
[role [role ...]]
- role
角色的名称
- -a, --action
权限的操作
- -r, --resource
权限的名称
- -v, --verbose
使日志输出更详细
默认:False
create¶
创建角色
airflow roles create [-h] [-v] [role [role ...]]
- role
角色的名称
- -v, --verbose
使日志输出更详细
默认:False
del-perms¶
删除角色权限
airflow roles del-perms [-h] [-a [ACTION [ACTION ...]]] -r
[RESOURCE [RESOURCE ...]] [-v]
[role [role ...]]
- role
角色的名称
- -a, --action
权限的操作
- -r, --resource
权限的名称
- -v, --verbose
使日志输出更详细
默认:False
delete¶
删除角色
airflow roles delete [-h] [-v] [role [role ...]]
- role
角色的名称
- -v, --verbose
使日志输出更详细
默认:False
export¶
将角色(不包括权限)从数据库导出到 JSON 文件
airflow roles export [-h] [-p] [-v] file
- file
将所有角色导出到 JSON 文件
- -p, --pretty
通过对角色名称进行排序并缩进 4 个空格来格式化输出 JSON 文件
默认:False
- -v, --verbose
使日志输出更详细
默认:False
rotate-fernet-key¶
轮换所有加密的连接凭据和变量; 请参阅 https://airflow.apache.org/docs/apache-airflow/stable/howto/secure-connections.html#rotating-encryption-keys
airflow rotate-fernet-key [-h]
scheduler¶
启动调度器实例
airflow scheduler [-h] [-D] [-p] [-l LOG_FILE] [-n NUM_RUNS] [--pid [PID]]
[-s] [--stderr STDERR] [--stdout STDOUT] [-S SUBDIR] [-v]
命名参数¶
- -D, --daemon
守护进程而不是在前台运行
默认:False
- -p, --do-pickle
尝试 pickle DAG 对象以发送到工作进程,而不是让工作进程运行其代码版本
默认:False
- -l, --log-file
日志文件的位置
- -n, --num-runs
设置退出前要执行的运行次数
默认值:-1
- --pid
PID 文件位置
- -s, --skip-serve-logs
不要与工作进程一起启动服务日志进程
默认:False
- --stderr
将 stderr 重定向到此文件
- --stdout
将 stdout 重定向到此文件
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
信号
SIGUSR2: 转储执行器正在跟踪的任务状态的快照。
- 示例
pkill -f -USR2 “airflow scheduler”
sync-perm¶
更新现有角色和可选 DAG 的权限
airflow sync-perm [-h] [--include-dags] [-v]
命名参数¶
- --include-dags
如果传递此参数,则还将同步 DAG 特定权限。
默认:False
- -v, --verbose
使日志输出更详细
默认:False
tasks¶
管理任务
airflow tasks [-h] COMMAND ...
位置参数¶
- 命令
可选项: clear, failed-deps, list, render, run, state, states-for-dag-run, test
子命令¶
clear¶
清除一组任务实例,就好像它们从未运行过一样
airflow tasks clear [-h] [-R] [-d] [-e END_DATE] [-X] [-x] [-f] [-r]
[-s START_DATE] [-S SUBDIR] [-t TASK_REGEX] [-u] [-v] [-y]
dag_id
- dag_id
DAG 的 ID
- -R, --dag-regex
将 dag_id 作为正则表达式搜索,而不是精确字符串
默认:False
- -d, --downstream
包括下游任务
默认:False
- -e, --end-date
覆盖结束日期 YYYY-MM-DD
- -X, --exclude-parentdag
如果清除的任务是 SubDAG 的一部分,则排除 ParentDAGS
默认:False
- -x, --exclude-subdags
排除子 DAG
默认:False
- -f, --only-failed
仅失败的作业
默认:False
- -r, --only-running
仅运行中的作业
默认:False
- -s, --start-date
覆盖开始日期 YYYY-MM-DD
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -t, --task-regex
过滤特定 task_ids 的正则表达式(可选)
- -u, --upstream
包括上游任务
默认:False
- -v, --verbose
使日志输出更详细
默认:False
- -y, --yes
不要提示确认。请谨慎使用!
默认:False
failed-deps¶
从调度器的角度返回任务实例未满足的依赖项。换句话说,为什么任务实例没有被调度器调度然后排队,然后被执行器运行。
airflow tasks failed-deps [-h] [--map-index MAP_INDEX] [-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
DAG 的 ID
- task_id
任务的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --map-index
映射的任务索引
默认值:-1
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
list¶
列出 DAG 中的任务
airflow tasks list [-h] [-S SUBDIR] [-t] [-v] dag_id
- dag_id
DAG 的 ID
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -t, --tree
已弃用 - 请改用 dags show。以树形结构显示任务。请注意,对于某些 DAG,生成树可能很慢,并且输出非常大。
默认:False
- -v, --verbose
使日志输出更详细
默认:False
render¶
渲染任务实例的模板
airflow tasks render [-h] [--map-index MAP_INDEX] [-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
DAG 的 ID
- task_id
任务的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --map-index
映射的任务索引
默认值:-1
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
run¶
运行单个任务实例
airflow tasks run [-h] [--cfg-path CFG_PATH] [-d {check,wait,ignore}] [-f]
[-A] [-i] [-I] [-N] [-l] [--map-index MAP_INDEX] [-m]
[-p PICKLE] [--pool POOL] [--read-from-db] [--ship-dag]
[-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
DAG 的 ID
- task_id
任务的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --cfg-path
要使用的配置文件路径,而不是 airflow.cfg
- -d, --depends-on-past
可选值:check, wait, ignore
确定 Airflow 应如何处理过去的依赖项。默认操作是 check,Airflow 将在运行具有 depends_on_past=True 的任务之前检查过去的依赖项是否满足。如果提供了 ignore,则将忽略过去的依赖项。如果提供了 wait 并且 depends_on_past=True,Airflow 将等待过去的依赖项满足后才运行或跳过该任务
默认值:“check”
- -f, --force
忽略之前的任务实例状态,无论任务是否已成功/失败,都重新运行
默认:False
- -A, --ignore-all-dependencies
忽略所有非关键依赖项,包括 ignore_ti_state 和 ignore_task_deps
默认:False
- -i, --ignore-dependencies
忽略特定于任务的依赖项,例如上游、depends_on_past 和重试延迟依赖项
默认:False
- -I, --ignore-depends-on-past
已弃用 – 请改用 --depends-on-past ignore。忽略 depends_on_past 依赖项(但保留上游依赖项)
默认:False
- -N, --interactive
不捕获标准输出和错误流(对交互式调试很有用)
默认:False
- -l, --local
使用 LocalExecutor 运行任务
默认:False
- --map-index
映射的任务索引
默认值:-1
- -m, --mark-success
将作业标记为成功,而不运行它们
默认:False
- -p, --pickle
整个 DAG 的序列化 pickle 对象(内部使用)
- --pool
要使用的资源池
- --read-from-db
从数据库而不是 DAG 文件读取 DAG
默认:False
- --ship-dag
将 DAG 进行 Pickle (序列化) 并将其发送到 worker
默认:False
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
state¶
获取任务实例的状态
airflow tasks state [-h] [--map-index MAP_INDEX] [-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
DAG 的 ID
- task_id
任务的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --map-index
映射的任务索引
默认值:-1
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -v, --verbose
使日志输出更详细
默认:False
states-for-dag-run¶
获取 DAG 运行中所有任务实例的状态
airflow tasks states-for-dag-run [-h] [-o table, json, yaml, plain] [-v]
dag_id execution_date_or_run_id
- dag_id
DAG 的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
test¶
测试任务实例。这将运行任务,而无需检查依赖项或将状态记录在数据库中
airflow tasks test [-h] [-n] [--env-vars ENV_VARS] [--map-index MAP_INDEX]
[-m] [-S SUBDIR] [-t TASK_PARAMS] [-v]
dag_id task_id [execution_date_or_run_id]
- dag_id
DAG 的 ID
- task_id
任务的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id(可选)
- -n, --dry-run
对每个任务执行空运行。仅渲染每个任务的模板字段,不做其他操作
默认:False
- --env-vars
在解析时和运行时为 JSON 字典中提供的每个条目设置环境变量
- --map-index
映射的任务索引
默认值:-1
- -m, --post-mortem
在未捕获的异常时打开调试器
默认:False
- -S, --subdir
查找 DAG 的文件位置或目录。默认为 ‘[AIRFLOW_HOME]/dags’,其中 [AIRFLOW_HOME] 是你在 ‘airflow.cfg’ 中设置的 ‘AIRFLOW_HOME’ 配置值
默认值: “[AIRFLOW_HOME]/dags”
- -t, --task-params
将 JSON 参数字典发送到任务
- -v, --verbose
使日志输出更详细
默认:False
triggerer¶
启动一个触发器实例
airflow triggerer [-h] [--capacity CAPACITY] [-D] [-l LOG_FILE] [--pid [PID]]
[-s] [--stderr STDERR] [--stdout STDOUT] [-v]
命名参数¶
- --capacity
触发器一次将运行的最大触发器数量。
- -D, --daemon
守护进程而不是在前台运行
默认:False
- -l, --log-file
日志文件的位置
- --pid
PID 文件位置
- -s, --skip-serve-logs
不要与工作进程一起启动服务日志进程
默认:False
- --stderr
将 stderr 重定向到此文件
- --stdout
将 stdout 重定向到此文件
- -v, --verbose
使日志输出更详细
默认:False
users¶
管理用户
airflow users [-h] COMMAND ...
位置参数¶
- 命令
可选值:add-role, create, delete, export, import, list, remove-role, reset-password
子命令¶
add-role¶
向用户添加角色
airflow users add-role [-h] [-e EMAIL] -r ROLE [-u USERNAME] [-v]
- -e, --email
用户的电子邮件
- -r, --role
用户的角色。现有角色包括 Admin、User、Op、Viewer 和 Public
- -u, --username
用户的用户名
- -v, --verbose
使日志输出更详细
默认:False
create¶
创建用户
airflow users create [-h] -e EMAIL -f FIRSTNAME -l LASTNAME [-p PASSWORD] -r
ROLE [--use-random-password] -u USERNAME [-v]
- -e, --email
用户的电子邮件
- -f, --firstname
用户的名字
- -l, --lastname
用户的姓氏
- -p, --password
用户的密码,在不使用 –use-random-password 创建用户时是必需的
- -r, --role
用户的角色。现有角色包括 Admin、User、Op、Viewer 和 Public
- --use-random-password
不提示输入密码。改用随机字符串。在不使用 –password 创建用户时是必需的
默认:False
- -u, --username
用户的用户名
- -v, --verbose
使日志输出更详细
默认:False
示例:要创建具有“Admin”角色且用户名等于“admin”的用户,请运行
- $ airflow users create
--username admin --firstname FIRST_NAME --lastname LAST_NAME --role Admin --email admin@example.org
delete¶
删除用户
airflow users delete [-h] [-e EMAIL] [-u USERNAME] [-v]
- -e, --email
用户的电子邮件
- -u, --username
用户的用户名
- -v, --verbose
使日志输出更详细
默认:False
export¶
导出所有用户
airflow users export [-h] [-v] FILEPATH
- FILEPATH
将所有用户导出到 JSON 文件
- -v, --verbose
使日志输出更详细
默认:False
import¶
导入用户
airflow users import [-h] [-v] FILEPATH
- FILEPATH
从 JSON 文件导入用户。示例格式
[ { "email": "[email protected]", "firstname": "Jon", "lastname": "Doe", "roles": ["Public"], "username": "jondoe" } ]
- -v, --verbose
使日志输出更详细
默认:False
list¶
列出用户
airflow users list [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能的选择:table、json、yaml、plain
输出格式。允许的值:json、yaml、plain、table(默认值:table)
默认值:“table”
- -v, --verbose
使日志输出更详细
默认:False
remove-role¶
从用户删除角色
airflow users remove-role [-h] [-e EMAIL] -r ROLE [-u USERNAME] [-v]
- -e, --email
用户的电子邮件
- -r, --role
用户的角色。现有角色包括 Admin、User、Op、Viewer 和 Public
- -u, --username
用户的用户名
- -v, --verbose
使日志输出更详细
默认:False
reset-password¶
重置用户的密码
airflow users reset-password [-h] [-e EMAIL] [-p PASSWORD]
[--use-random-password] [-u USERNAME] [-v]
- -e, --email
用户的电子邮件
- -p, --password
用户的密码,在不使用 –use-random-password 创建用户时是必需的
- --use-random-password
不提示输入密码。改用随机字符串。在不使用 –password 创建用户时是必需的
默认:False
- -u, --username
用户的用户名
- -v, --verbose
使日志输出更详细
默认:False
示例:要重置用户名等于“admin”的用户,请运行
- $ airflow users reset-password
--username admin
variables¶
管理变量
airflow variables [-h] COMMAND ...
位置参数¶
- 命令
可选项: delete, export, get, import, list, set
子命令¶
delete¶
删除变量
airflow variables delete [-h] [-v] key
- key
变量键
- -v, --verbose
使日志输出更详细
默认:False
export¶
可以使用以下命令在 STDOUT 中导出所有变量:airflow variables export -
airflow variables export [-h] [-v] file
- file
将所有变量导出到 JSON 文件
- -v, --verbose
使日志输出更详细
默认:False
get¶
获取变量
airflow variables get [-h] [-d VAL] [-j] [-v] key
- key
变量键
- -d, --default
如果变量不存在,则返回默认值
- -j, --json
反序列化 JSON 变量
默认:False
- -v, --verbose
使日志输出更详细
默认:False
import¶
导入变量
airflow variables import [-h] [-a {overwrite,fail,skip}] [-v] file
- file
从 JSON 文件导入变量
- -a, --action-on-existing-key
可选值:overwrite, fail, skip
如果我们遇到已存在的变量键时要采取的操作。
默认值:“overwrite”
- -v, --verbose
使日志输出更详细
默认:False
webserver¶
启动一个 Airflow Web 服务器实例
airflow webserver [-h] [-A ACCESS_LOGFILE] [-L ACCESS_LOGFORMAT] [-D] [-d]
[-E ERROR_LOGFILE] [-H HOSTNAME] [-l LOG_FILE] [--pid [PID]]
[-p PORT] [--ssl-cert SSL_CERT] [--ssl-key SSL_KEY]
[--stderr STDERR] [--stdout STDOUT] [-t WORKER_TIMEOUT]
[-k {sync,eventlet,gevent,tornado}] [-w WORKERS]
命名参数¶
- -A, --access-logfile
用于存储 Web 服务器访问日志的日志文件。使用“-”打印到标准输出
默认值:“-”
- -L, --access-logformat
gunicorn 日志的访问日志格式
默认值:“”
- -D, --daemon
守护进程而不是在前台运行
默认:False
- -d, --debug
在调试模式下使用 Flask 附带的服务器
默认:False
- -E, --error-logfile
用于存储 Web 服务器错误日志的日志文件。使用“-”打印到标准错误
默认值:“-”
- -H, --hostname
设置运行 Web 服务器的主机名
默认值:“0.0.0.0”
- -l, --log-file
日志文件的位置
- --pid
PID 文件位置
- -p, --port
运行服务器的端口
默认值:8080
- --ssl-cert
Web 服务器的 SSL 证书路径
默认值:“”
- --ssl-key
用于 SSL 证书的密钥的路径
默认值:“”
- --stderr
将 stderr 重定向到此文件
- --stdout
将 stdout 重定向到此文件
- -t, --worker-timeout
等待 Web 服务器工作进程的超时时间
默认值:120
- -k, --workerclass
可选值:sync, eventlet, gevent, tornado
用于 Gunicorn 的工作程序类
默认值:“sync”
- -w, --workers
运行 Web 服务器的工作进程数
默认值:4
环境变量¶
- AIRFLOW__{SECTION}__{KEY}¶
设置 Airflow 配置中的选项。这优先于
airflow.cfg
文件中的值。将
{SECTION}
占位符替换为任何节的名称,并将{KEY}
占位符替换为该指定节中的任何键。例如,如果您想设置
[core]
节中的dags_folder
选项,则应设置AIRFLOW__CORE__DAGS_FOLDER
环境变量。有关更多信息,请参阅:设置配置选项。
- AIRFLOW__{SECTION}__{KEY}_CMD¶
对于 Airflow 中某个节中的任何特定键,执行该键指向的命令。该命令的结果将用作
AIRFLOW__{SECTION}__{KEY}
环境变量的值。此功能仅受以下配置选项支持
[database]
节中的sql_alchemy_conn
[core]
节中的fernet_key
[celery]
节中的broker_url
[celery]
节中的flower_basic_auth
[celery]
节中的result_backend
[atlas]
节中的password
[smtp]
节中的smtp_password
[webserver]
节中的secret_key
- AIRFLOW__{SECTION}__{KEY}_SECRET¶
对于 Airflow 中某个节中的任何特定键,从配置的 secrets 后端检索密钥。返回的值将用作
AIRFLOW__{SECTION}__{KEY}
环境变量的值。有关可用 secrets 后端的更多信息,请参阅 Secrets 后端。
这种形式的环境变量配置仅支持与
AIRFLOW__{SECTION}__{KEY}_CMD
相同的配置选项子集。
- AIRFLOW_CONFIG¶
Airflow 配置文件的路径。
- AIRFLOW_CONN_{CONN_ID}¶
使用 URI 值定义一个名为
{CONN_ID}
的新连接。例如,如果您想创建一个名为
PROXY_POSTGRES_TCP
的连接,您可以创建一个键AIRFLOW_CONN_PROXY_POSTGRES_TCP
,并将连接 URI 作为该键的值。有关更多信息,请参阅:在环境变量中存储连接。
- AIRFLOW_HOME¶
Airflow 内容的根目录。这是 Airflow 资产(如 DAG 和日志)的默认父目录。