命令行界面与环境变量参考¶
命令行界面¶
Airflow拥有非常丰富的命令行界面,支持对DAG进行多种操作、启动服务以及辅助开发和测试。
注意
有关CLI使用的更多信息,请参阅使用命令行界面
实现执行器的Providers可能会向CLI贡献额外的命令。以下是社区Providers贡献的命令:
Celery Executor及相关CLI命令:Celery Executor Commands
Kubernetes执行器及相关CLI命令:Kubernetes Executor Commands
AWS及相关CLI命令:Amazon CLI Commands
users和rolesCLI命令在FAB提供程序文档中有描述 FAB CLI Commands
Usage: airflow [-h] GROUP_OR_COMMAND ...
位置参数¶
- GROUP_OR_COMMAND
可选选项: 备忘单, 配置, 连接, DAG处理器, DAGs, 数据库, 信息, 作业, Kerberos, 插件, 资源池, 提供者, 角色, 轮换Fernet密钥, 调度器, 独立模式, 同步权限, 任务, 触发器, 用户, 变量, 版本, Web服务器
子命令¶
速查表¶
显示速查表
airflow cheat-sheet [-h] [-v]
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
config¶
查看配置
airflow config [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作:get-value, list
子命令¶
获取值¶
打印配置的值
airflow config get-value [-h] [-v] section option
位置参数¶
- section
章节名称
- option
选项名称
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
列表¶
列出配置的选项
airflow config list [-h] [--color {off,auto,on}] [-c] [-a] [-p] [-d] [-V] [-e]
[-s] [--section SECTION] [-v]
命名参数¶
- --color
可选选项: off, auto, on
是否输出彩色内容(默认:自动)
默认值: "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
connections¶
管理连接
airflow connections [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作: add(添加), create-default-connections(创建默认连接), delete(删除), export(导出), get(获取), import(导入), list(列表), test(测试)
子命令¶
添加¶
添加连接
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 {off,auto,on}] [-v] conn_id
位置参数¶
- conn_id
连接ID,用于获取/添加/删除/测试连接
命名参数¶
- --color
可选选项: off, auto, on
是否输出彩色内容(默认:自动)
默认值: "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 {off,auto,on}]
[-o table, json, yaml, plain] [-v]
conn_id
位置参数¶
- conn_id
连接ID,用于获取/添加/删除/测试连接
命名参数¶
- --color
可选选项: off, auto, on
是否输出彩色内容(默认:自动)
默认值: "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
列表¶
列出连接
airflow connections list [-h] [--conn-id CONN_ID]
[-o table, json, yaml, plain] [-v]
命名参数¶
- --conn-id
如果传入此参数,则仅显示具有指定连接ID的条目
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
测试¶
测试连接
airflow connections test [-h] [-v] conn_id
位置参数¶
- conn_id
连接ID,用于获取/添加/删除/测试连接
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
dag-processor¶
启动一个独立的Dag Processor实例
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
尝试将DAG对象序列化后发送给工作节点,而不是让工作节点运行它们自己的代码版本
默认值: False
- -l, --log-file
日志文件的位置
- -n, --num-runs
设置退出前要执行的运行次数
默认值: -1
- --pid
PID文件位置
- --stderr
将标准错误重定向到此文件
- --stdout
将标准输出重定向到此文件
- -S, --subdir
用于查找DAG的文件位置或目录。默认为'[AIRFLOW_HOME]/dags',其中[AIRFLOW_HOME]是你在'airflow.cfg'配置文件中设置的'AIRFLOW_HOME'的值。
默认值: "[AIRFLOW_HOME]/dags"
- -v, --verbose
使日志输出更加详细
默认值: False
dags¶
管理DAGs
airflow dags [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作:回填、删除、详情、列表、列出导入错误、列出作业、列出运行记录、下次执行、暂停、报告、重新序列化、显示、显示依赖关系、状态、测试、触发、取消暂停
子命令¶
回填¶
在指定的日期范围内运行DAG的子部分。如果使用了reset_dag_run选项,回填将首先提示用户是否应清除回填日期范围内所有先前的dag_run和task_instances。如果使用了rerun_failed_tasks选项,回填将自动重新运行回填日期范围内先前失败的任务实例。
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
将被序列化为DagRun的conf属性的JSON字符串
- --continue-on-failures
如果设置,即使某些任务失败,回填操作仍将继续
默认值: False
- --delay-on-limit
当达到最大活跃DAG运行数限制(max_active_runs)时,在尝试再次执行DAG运行前需要等待的秒数
默认值: 1.0
- --disable-retry
如果设置此项,回填操作会将任务标记为失败而不进行重试。
默认值: False
- -x, --donot-pickle
不要尝试将DAG对象序列化后发送给工作节点,只需告知工作节点运行它们自己的代码版本即可
默认值: 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
如果设置此项,回填操作将自动重新运行指定日期范围内所有失败的任务,而不是抛出异常
默认值: False
- --reset-dagruns
如果设置此项,回填操作将删除所有与回填相关的现有DAG运行记录,并以全新的运行状态重新开始
默认值: False
- -B, --run-backwards
如果设置此项,回填将优先运行最近一天的任务。如果有任务依赖过去的数据,此选项将抛出异常
默认值: 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_id的正则表达式(可选)
- --treat-dag-as-regex
已弃用 – 请改用 –treat-dag-id-as-regex
默认值: False
- --treat-dag-id-as-regex
如果设置,dag_id将被视为正则表达式而非精确字符串
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
- -y, --yes
无需确认提示。请谨慎使用!
默认值: False
删除¶
删除与指定DAG相关的所有数据库记录
airflow dags delete [-h] [-v] [-y] dag_id
位置参数¶
- dag_id
DAG的ID
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
- -y, --yes
无需确认提示。请谨慎使用!
默认值: False
详情¶
根据给定的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
列表¶
列出所有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
列出导入错误¶
列出所有存在导入错误的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
列出任务¶
列出任务
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
可能的选项:运行中、成功、重启中、失败
仅列出与状态对应的作业
- -v, --verbose
使日志输出更加详细
默认值: False
列出运行记录¶
根据DAG ID列出DAG运行记录。如果提供了state参数,将只搜索具有该状态的所有dagruns。如果提供了no_backfill参数,将过滤掉给定dag ID的所有回填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筛选所有回填的dag运行记录
默认值: False
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -s, --start-date
覆盖开始日期 YYYY-MM-DD
- --state
可能的选项:排队中、运行中、成功、失败
仅列出与状态对应的DAG运行记录
- -v, --verbose
使日志输出更加详细
默认值: False
下次执行¶
获取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
暂停¶
暂停一个或多个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
报告¶
显示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
重新序列化¶
从元数据数据库中删除所有序列化的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
显示¶
–imgcat 选项仅在 iTerm 中有效。
For more information, see: https://www.iterm2.com/documentation-images.html
--save 选项将结果保存到指定的文件中。
The file format is determined by the file extension. For more information about supported format, see: https://www.graphviz.org/doc/info/output.html
如果想创建一个PNG文件,您应执行以下命令:
airflow dags show
如果想生成DOT文件,请执行以下命令:
airflow dags show
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
显示依赖关系¶
–imgcat 选项仅在 iTerm 中有效。
For more information, see: https://www.iterm2.com/documentation-images.html
--save 选项将结果保存到指定的文件。
The file format is determined by the file extension. For more information about supported format, see: https://www.graphviz.org/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
状态¶
获取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
测试¶
为给定的DAG和执行日期执行单个DagRun。
–imgcat-dagrun 选项仅在 iTerm 中有效。
For more information, see: https://www.iterm2.com/documentation-images.html
If –save-dagrun is used, then, after completing the backfill, saves the diagram for current DAG Run to the indicated file. The file format is determined by the file extension. For more information about supported format, see: https://www.graphviz.org/doc/info/output.html
如果您想创建一个PNG文件,应该执行以下命令:
airflow dags test
如果想生成DOT文件,需要执行以下命令:
airflow dags test
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
将被序列化为DagRun的conf属性的JSON字符串
- --imgcat-dagrun
在完成DAG运行后,使用imgcat工具在屏幕上为当前DAG运行打印一个图表。
默认值: False
- --mark-success-pattern
不要运行任务ID匹配正则表达式
的任务,而是将它们标记为成功。 可用于在本地测试中跳过例如依赖检查传感器或清理步骤。 - --save-dagrun
完成回填后,将当前DAG运行的图表保存到指定文件。
- --show-dagrun
完成回填后,显示当前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状态将保持为queued,任务将不会运行。
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
将被序列化为DagRun的conf属性的JSON字符串
- -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
db¶
数据库操作
airflow db [-h] COMMAND ...
位置参数¶
- 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
初始化¶
未记录
airflow db init [-h] [-v]
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: 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
shell¶
运行一个shell来访问数据库
airflow db shell [-h] [-v]
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: 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
jobs¶
管理工作
airflow jobs [-h] COMMAND ...
位置参数¶
- COMMAND
可选选项:检查
子命令¶
检查¶
检查作业是否仍在运行
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
将标准错误重定向到此文件
- --stdout
将标准输出重定向到此文件
- -v, --verbose
使日志输出更加详细
默认值: False
plugins¶
转储已加载插件的信息
airflow plugins [-h] [-o table, json, yaml, plain] [-v]
命名参数¶
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
pools¶
管理池
airflow pools [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作: delete, export, get, import, list, set
子命令¶
删除¶
删除池
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
导出¶
导出所有池
airflow pools export [-h] [-v] FILEPATH
位置参数¶
- FILEPATH
将所有资源池导出为JSON文件
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
获取¶
获取池大小
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
导入¶
导入池
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
列表¶
列出池
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
设置¶
配置池
airflow pools set [-h] [--include-deferred] [-o table, json, yaml, plain] [-v]
NAME slots description
位置参数¶
- NAME
池名称
- slots
池槽位
- description
资源池描述
命名参数¶
- --include-deferred
在Pool的计算中包含延迟任务
默认值: False
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
providers¶
显示提供者
airflow providers [-h] COMMAND ...
位置参数¶
- COMMAND
可选选项:auth, auth-managers, behaviours, configs, executors, get, hooks, lazy-loaded, links, list, logging, notifications, secrets, triggers, widgets
子命令¶
认证¶
获取提供的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
认证管理器¶
获取提供的认证管理器信息
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
行为¶
获取具有自定义行为的已注册连接类型信息
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
配置¶
获取有关提供程序配置的信息
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
执行器¶
获取有关提供的执行器的信息
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
获取¶
获取有关提供者的详细信息
airflow providers get [-h] [--color {off,auto,on}] [-f]
[-o table, json, yaml, plain] [-v]
provider_name
位置参数¶
- provider_name
提供者名称,获取提供者信息所必需
命名参数¶
- --color
可选选项: off, auto, on
是否输出彩色内容(默认:自动)
默认值: "auto"
- -f, --full
关于该提供程序的完整信息,包括文档资料。
默认值: False
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
钩子¶
列出已注册的提供者钩子
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
懒加载¶
检查提供者配置是否延迟加载
airflow providers lazy-loaded [-h] [-v]
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
链接¶
列出由提供商注册的额外链接
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
列表¶
列出已安装的提供程序
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
日志记录¶
获取提供的任务日志处理程序信息
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
通知¶
获取提供的通知信息
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
密钥¶
获取已提供的密钥后端相关信息
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 providers triggers [-h] [-o table, json, yaml, plain] [-v]
命名参数¶
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
组件¶
获取有关已注册连接表单小部件的信息
airflow providers widgets [-h] [-o table, json, yaml, plain] [-v]
命名参数¶
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
roles¶
管理角色
airflow roles [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作:添加权限、创建、删除权限、删除、导出、导入、列表
子命令¶
添加权限¶
添加角色权限
airflow roles add-perms [-h] -a [ACTION ...] -r [RESOURCE ...] [-v] [role ...]
位置参数¶
- role
角色名称
命名参数¶
- -a, --action
权限操作
- -r, --resource
权限名称
- -v, --verbose
使日志输出更加详细
默认值: False
创建¶
创建角色
airflow roles create [-h] [-v] [role ...]
位置参数¶
- role
角色名称
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
删除权限¶
删除角色权限
airflow roles del-perms [-h] [-a [ACTION ...]] -r [RESOURCE ...] [-v]
[role ...]
位置参数¶
- role
角色名称
命名参数¶
- -a, --action
权限操作
- -r, --resource
权限名称
- -v, --verbose
使日志输出更加详细
默认值: False
删除¶
删除角色
airflow roles delete [-h] [-v] [role ...]
位置参数¶
- role
角色名称
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
导出¶
将角色(不含权限)从数据库导出到JSON文件
airflow roles export [-h] [-p] [-v] file
位置参数¶
- file
将所有角色导出为JSON文件
命名参数¶
- -p, --pretty
通过按角色名称排序并缩进4个空格来格式化输出JSON文件
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
导入¶
从JSON文件导入角色(不含权限)到数据库
airflow roles import [-h] [-v] file
位置参数¶
- file
从JSON文件导入角色
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
列表¶
列出角色
airflow roles list [-h] [-o table, json, yaml, plain] [-p] [-v]
命名参数¶
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -p, --permission
显示角色权限
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
rotate-fernet-key¶
Rotate all encrypted connection credentials and variables; see 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
尝试将DAG对象序列化后发送给工作节点,而不是让工作节点运行它们自己的代码版本
默认值: False
- -l, --log-file
日志文件的位置
- -n, --num-runs
设置退出前要执行的运行次数
默认值: -1
- --pid
PID文件位置
- -s, --skip-serve-logs
不要与工作节点一起启动服务日志进程
默认值: False
- --stderr
将标准错误重定向到此文件
- --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"
standalone¶
运行一个一体化版本的Airflow
airflow standalone [-h]
sync-perm¶
更新现有角色及可选DAG的权限
airflow sync-perm [-h] [--include-dags] [-v]
命名参数¶
- --include-dags
如果传入,还将同步DAG特定的权限。
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
任务¶
管理任务
airflow tasks [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作:clear(清除)、failed-deps(依赖失败)、list(列表)、render(渲染)、run(运行)、state(状态)、states-for-dag-run(DAG运行状态)、test(测试)
子命令¶
清除¶
清除一组任务实例,就像它们从未运行过一样
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_id的正则表达式(可选)
- -u, --upstream
包含上游任务
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
- -y, --yes
无需确认提示。请谨慎使用!
默认值: False
失败依赖项¶
从调度器的角度返回任务实例未满足的依赖关系。换句话说,为什么任务实例没有被调度器调度、排队,然后由执行器运行。
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的执行日期或DAGRun的运行ID
命名参数¶
- --map-index
映射任务索引
默认值: -1
- -S, --subdir
用于查找DAG的文件位置或目录。默认为'[AIRFLOW_HOME]/dags',其中[AIRFLOW_HOME]是你在'airflow.cfg'配置文件中设置的'AIRFLOW_HOME'的值。
默认值: "[AIRFLOW_HOME]/dags"
- -v, --verbose
使日志输出更加详细
默认值: False
列表¶
列出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
渲染¶
渲染任务实例的模板
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的执行日期或DAGRun的运行ID
命名参数¶
- --map-index
映射任务索引
默认值: -1
- -S, --subdir
用于查找DAG的文件位置或目录。默认为'[AIRFLOW_HOME]/dags',其中[AIRFLOW_HOME]是你在'airflow.cfg'配置文件中设置的'AIRFLOW_HOME'的值。
默认值: "[AIRFLOW_HOME]/dags"
- -v, --verbose
使日志输出更加详细
默认值: False
运行¶
运行单个任务实例
airflow tasks run [-h] [--cfg-path CFG_PATH] [-d {ignore,wait,check}] [-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的执行日期或DAGRun的运行ID
命名参数¶
- --cfg-path
用于替代airflow.cfg的配置文件路径
- -d, --depends-on-past
可选选项:忽略、等待、检查
确定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序列化并发送到工作节点
默认值: False
- -S, --subdir
用于查找DAG的文件位置或目录。默认为'[AIRFLOW_HOME]/dags',其中[AIRFLOW_HOME]是你在'airflow.cfg'配置文件中设置的'AIRFLOW_HOME'的值。
默认值: "[AIRFLOW_HOME]/dags"
- -v, --verbose
使日志输出更加详细
默认值: False
状态¶
获取任务实例的状态
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的执行日期或DAGRun的运行ID
命名参数¶
- --map-index
映射任务索引
默认值: -1
- -S, --subdir
用于查找DAG的文件位置或目录。默认为'[AIRFLOW_HOME]/dags',其中[AIRFLOW_HOME]是你在'airflow.cfg'配置文件中设置的'AIRFLOW_HOME'的值。
默认值: "[AIRFLOW_HOME]/dags"
- -v, --verbose
使日志输出更加详细
默认值: False
DAG运行状态¶
获取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的执行日期或DAGRun的运行ID
命名参数¶
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
测试¶
测试一个任务实例。这将运行任务而不检查依赖关系或在数据库中记录其状态
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的执行日期或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
Triggerer 一次运行的最大触发器数量。
- -D, --daemon
以守护进程方式运行而非在前台运行
默认值: False
- -l, --log-file
日志文件的位置
- --pid
PID文件位置
- -s, --skip-serve-logs
不要与工作节点一起启动服务日志进程
默认值: False
- --stderr
将标准错误重定向到此文件
- --stdout
将标准输出重定向到此文件
- -v, --verbose
使日志输出更加详细
默认值: False
users¶
管理用户
airflow users [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作: add-role, create, delete, export, import, list, remove-role, reset-password
子命令¶
添加角色¶
为用户添加角色
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
创建¶
创建用户
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
–用户名 admin –名字 FIRST_NAME –姓氏 LAST_NAME –角色 Admin –邮箱 admin@example.org
删除¶
删除用户
airflow users delete [-h] [-e EMAIL] [-u USERNAME] [-v]
命名参数¶
- -e, --email
用户邮箱
- -u, --username
用户的用户名
- -v, --verbose
使日志输出更加详细
默认值: False
导出¶
导出所有用户
airflow users export [-h] [-v] FILEPATH
位置参数¶
- FILEPATH
将所有用户导出为JSON文件
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
导入¶
导入用户
airflow users import [-h] [-v] FILEPATH
位置参数¶
- FILEPATH
从JSON文件导入用户。示例格式:
[ { "email": "foo@bar.org", "firstname": "Jon", "lastname": "Doe", "roles": ["Public"], "username": "jondoe" } ]
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
列表¶
列出用户
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
移除角色¶
从用户中移除角色
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
重置密码¶
重置用户密码
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
–用户名 admin
变量¶
管理变量
airflow variables [-h] COMMAND ...
位置参数¶
- COMMAND
可选操作: delete, export, get, import, list, set
子命令¶
删除¶
删除变量
airflow variables delete [-h] [-v] key
位置参数¶
- key
变量键
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
导出¶
所有变量都可以通过以下命令在STDOUT中导出: airflow variables export -
airflow variables export [-h] [-v] file
位置参数¶
- file
将所有变量导出为JSON文件
命名参数¶
- -v, --verbose
使日志输出更加详细
默认值: False
获取¶
获取变量
airflow variables get [-h] [-d VAL] [-j] [-v] key
位置参数¶
- key
变量键
命名参数¶
- -d, --default
如果变量不存在则返回的默认值
- -j, --json
反序列化JSON变量
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
导入¶
导入变量
airflow variables import [-h] [-a {overwrite,fail,skip}] [-v] file
位置参数¶
- file
从JSON文件导入变量
命名参数¶
- -a, --action-on-existing-key
可选操作:覆盖、失败、跳过
如果我们遇到一个已经存在的变量键,应采取的操作。
默认值:"overwrite"
- -v, --verbose
使日志输出更加详细
默认值: False
列表¶
列出变量
airflow variables list [-h] [-o table, json, yaml, plain] [-v]
命名参数¶
- -o, --output
可选格式:表格(table)、JSON、YAML、纯文本(plain)
输出格式。允许的值:json、yaml、plain、table(默认:table)
默认值:“table”
- -v, --verbose
使日志输出更加详细
默认值: False
设置¶
设置变量
airflow variables set [-h] [--description DESCRIPTION] [-j] [-v] key VALUE
位置参数¶
- key
变量键
- VALUE
变量值
命名参数¶
- --description
变量描述,在设置变量时为可选
- -j, --json
序列化JSON变量
默认值: False
- -v, --verbose
使日志输出更加详细
默认值: False
version¶
显示版本信息
airflow version [-h]
webserver¶
启动一个Airflow webserver实例
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
存储webserver错误日志的日志文件。使用'-'将日志打印到标准错误输出
默认值: "-"
- -H, --hostname
设置运行Web服务器的主机名
默认值:"0.0.0.0"
- -l, --log-file
日志文件的位置
- --pid
PID文件位置
- -p, --port
运行服务器的端口
默认: 8080
- --ssl-cert
Web服务器的SSL证书路径
默认值:""
- --ssl-key
用于SSL证书的密钥路径
默认值:""
- --stderr
将标准错误重定向到此文件
- --stdout
将标准输出重定向到此文件
- -t, --worker-timeout
等待webserver工作进程的超时时间
默认值: 120
- -k, --workerclass
可选选项:sync, eventlet, gevent, tornado
用于Gunicorn的工作器类
默认值: "sync"
- -w, --workers
运行webserver的工作进程数量
默认值: 4
环境变量¶
- AIRFLOW__{SECTION}__{KEY}¶
设置Airflow配置中的选项。该设置的优先级高于
airflow.cfg文件中的值。将
{SECTION}占位符替换为任意部分, 并将{KEY}占位符替换为该指定部分中的任意键。例如,如果你想在
[core]部分设置dags_folder选项, 那么你应该设置AIRFLOW__CORE__DAGS_FOLDER环境变量。更多信息,请参阅:设置配置选项。
- AIRFLOW__{SECTION}__{KEY}_CMD¶
对于Airflow中某个部分的任何特定键,执行该键指向的命令。 命令的结果将用作
AIRFLOW__{SECTION}__{KEY}环境变量的值。仅以下配置选项支持此功能:
sql_alchemy_conn在[database]部分fernet_key位于[core]部分broker_url在[celery]部分中flower_basic_auth在[celery]部分result_backend在[celery]部分password在[atlas]部分smtp_password位于[smtp]配置节中secret_key在[webserver]部分
- AIRFLOW__{SECTION}__{KEY}_SECRET¶
对于Airflow配置中某个特定键值,从配置的密钥后端获取对应的密钥。 返回的值将被用作环境变量
AIRFLOW__{SECTION}__{KEY}的值。查看Secrets Backends获取更多关于可用密钥后端的详细信息。
这种形式的环境变量配置仅支持与
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和日志)的默认父目录。