命令行界面与环境变量参考

命令行界面

Airflow拥有非常丰富的命令行界面,支持对DAG进行多种操作、启动服务以及辅助开发和测试。

注意

有关CLI使用的更多信息,请参阅使用命令行界面

实现执行器的Providers可能会向CLI贡献额外的命令。以下是社区Providers贡献的命令:

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选项传递urijson来控制使用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 –save output.png

如果想生成DOT文件,请执行以下命令: airflow dags show –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

显示依赖关系

–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 –save-dagrun output.png

如果想生成DOT文件,需要执行以下命令: airflow dags test –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

将被序列化为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 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,则会忽略过去的依赖关系;如果设置为waitdepends_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和日志)的默认父目录。

AIRFLOW_VAR_{KEY}

定义一个Airflow变量。 将{KEY}占位符替换为变量名称。

更多信息,请参阅:管理变量

这篇内容对您有帮助吗?