配置参考¶
本页包含所有可用 Airflow 配置的列表,您可以在 airflow.cfg
文件或使用环境变量进行设置。
在所有 Airflow 组件中使用相同的配置。虽然每个组件不需要所有配置,但有些配置必须相同,否则它们将无法按预期工作。一个很好的例子是 secret_key,它在 Webserver 和 Worker 上必须相同,以允许 Webserver 从 Worker 获取日志。
webserver 密钥也用于在检索日志时授权对 Celery worker 的请求。使用密钥生成的令牌有效期很短——请确保运行 Airflow 组件的所有机器上的时间同步(例如使用 ntpd),否则在访问日志时可能会出现“forbidden”错误。
注意
更多信息请参阅 设置配置选项。
Provider 特定配置选项¶
部分 providers 有自己的配置选项,您可以在 provider 的文档中找到其配置详情。
您可以在 configurations specific to providers 中找到所有 provider 配置。
Airflow 配置选项¶
[api]¶
access_control_allow_headers¶
添加于版本 2.1.0。
用于响应预检请求,指示在进行实际请求时可以使用哪些 HTTP 头。此头是服务器端对浏览器 Access-Control-Request-Headers 头的响应。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__API__ACCESS_CONTROL_ALLOW_HEADERS
access_control_allow_methods¶
添加于版本 2.1.0。
指定访问资源时允许的方法。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__API__ACCESS_CONTROL_ALLOW_METHODS
access_control_allow_origins¶
添加于版本 2.2.0。
指示响应是否可以与来自给定源的请求代码共享。用空格分隔 URL。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__API__ACCESS_CONTROL_ALLOW_ORIGINS
access_logfile¶
API 服务器的日志文件。‘-’ 表示日志输出到 stderr。
- 类型:
字符串
- 默认值:
-
- 环境变量:
AIRFLOW__API__ACCESS_LOGFILE
base_url¶
API 服务器的基本 URL。Airflow 无法猜测您使用的是哪个域名或 CNAME。如果 Airflow 控制台(前端)和 API 服务器位于不同的域名下,此配置应包含 API 服务器端点。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API__BASE_URL
- 示例:
https://my-airflow.company.com
enable_xcom_deserialize_support¶
添加于版本 2.7.0。
指示 **xcomEntries** 端点是否支持 **deserialize** 标志。如果设置为 False
,在请求中设置此标志将导致 400 Bad Request 错误。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__API__ENABLE_XCOM_DESERIALIZE_SUPPORT
fallback_page_limit¶
添加于版本 2.0.0。
用于在 API 请求中 limit 参数为零或未提供时设置默认页面限制。否则,如果在 API 请求中将正整数作为 limit 传递,则将用户给定的 limit 或最大页面限制中较小的那个数字作为限制。
- 类型:
整数
- 默认值:
50
- 环境变量:
AIRFLOW__API__FALLBACK_PAGE_LIMIT
host¶
启动 API 服务器时指定的 IP
- 类型:
字符串
- 默认值:
0.0.0.0
- 环境变量:
AIRFLOW__API__HOST
maximum_page_limit¶
添加于版本 2.0.0。
用于设置 API 请求的最大页面限制。如果作为参数传递的 limit 大于最大页面限制,则将被忽略,最大页面限制值将设置为 limit。
- 类型:
整数
- 默认值:
100
- 环境变量:
AIRFLOW__API__MAXIMUM_PAGE_LIMIT
port¶
运行 API 服务器的端口
- 类型:
字符串
- 默认值:
8080
- 环境变量:
AIRFLOW__API__PORT
ssl_cert¶
API 服务器 SSL 证书和密钥的路径。同时提供这两个路径时将启用 SSL。这不会更改 API 服务器端口。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__API__SSL_CERT
ssl_key¶
API 服务器 SSL 证书和密钥的路径。同时提供这两个路径时将启用 SSL。这不会更改 API 服务器端口。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__API__SSL_KEY
worker_timeout¶
API 服务器在 worker 上超时前等待的秒数
- 类型:
字符串
- 默认值:
120
- 环境变量:
AIRFLOW__API__WORKER_TIMEOUT
workers¶
在 API 服务器上运行的 worker 数量
- 类型:
字符串
- 默认值:
4
- 环境变量:
AIRFLOW__API__WORKERS
[api_auth]¶
与 Airflow API 身份验证相关的设置
jwt_algorithm¶
添加于版本 3.0.0。
生成和验证 JWT Task Identities 时使用的算法名称。
此值必须适合给定的私钥类型。
如果未指定,Airflow 会根据密钥类型猜测最适合的算法。
(如果设置了 jwt_secret
则为 "HS512",否则根据密钥类型猜测)
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API_AUTH__JWT_ALGORITHM
- 示例:
"EdDSA" 或 "HS512"
jwt_audience¶
添加于版本 3.0.0。
生成和验证 API 的 JWT 时使用的 audience claim。
此变量可以是单个值,也可以是逗号分隔的字符串;如果是字符串,则第一个值用于生成,其他值在验证时接受。
非必需,但强烈建议设置。
另请参阅 jwt_audience
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API_AUTH__JWT_AUDIENCE
- 示例:
my-unique-airflow-id
jwt_cli_expiration_time¶
添加于版本 3.0.0。
用于 CLI 命令身份验证的 JWT 过期时间(秒)。令牌过期后,所有使用此令牌的 CLI 调用将因身份验证失败而失败。
确保运行 Airflow 组件的所有机器上的时间同步(例如使用 ntpd),否则可能会遇到“forbidden”错误。
- 类型:
整数
- 默认值:
3600
- 环境变量:
AIRFLOW__API_AUTH__JWT_CLI_EXPIRATION_TIME
jwt_expiration_time¶
添加于版本 3.0.0。
用于身份验证的 JWT 过期时间(秒)。令牌过期后,所有使用此令牌的 API 调用将因身份验证失败而失败。
确保运行 Airflow 组件的所有机器上的时间同步(例如使用 ntpd),否则可能会遇到“forbidden”错误。
另请参阅 jwt_expiration_time
- 类型:
整数
- 默认值:
86400
- 环境变量:
AIRFLOW__API_AUTH__JWT_EXPIRATION_TIME
jwt_issuer¶
添加于版本 3.0.0。
JWT 的颁发者。这将成为生成的令牌的 iss
claim,并在传入请求时进行验证。
理想情况下,每个独立的 Airflow 部署都应该独一无二。
非必需,但强烈建议设置。
另请参阅 jwt_audience
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API_AUTH__JWT_ISSUER
- 示例:
http://my-airflow.mycompany.com
jwt_kid¶
添加于版本 3.0.0。
生成 JWT 时放在 header 中的 Key ID。不在验证路径中使用。
如果未指定,将使用私钥的 RFC7638 thumbprint。
使用 jwt_secret
时忽略。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API_AUTH__JWT_KID
- 示例:
my-key-id
jwt_leeway¶
添加于版本 3.0.0。
验证 JWT 过期时间时的秒数容差,用于弥补客户端和服务器之间的时钟偏差。
- 类型:
整数
- 默认值:
10
- 环境变量:
AIRFLOW__API_AUTH__JWT_LEEWAY
jwt_private_key_path¶
添加于版本 3.0.0。
包含 PEM 编码私钥的文件路径,用于在 executor 中生成 Task Identity 令牌。
与 jwt_secret
互斥。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API_AUTH__JWT_PRIVATE_KEY_PATH
- 示例:
/path/to/private_key.pem
jwt_secret¶
添加于版本 3.0.0。
用于编码和解码 JWT 以向公共和私有 API 进行身份验证的密钥。
它应尽可能随机。但是,当运行多个 API 服务实例时,请确保它们都使用相同的 jwt_secret
,否则调用将因身份验证失败而失败。
与 jwt_private_key_path
互斥。
- 类型:
字符串
- 默认值:
{JWT_SECRET_KEY}
- 环境变量:
AIRFLOW__API_AUTH__JWT_SECRET
AIRFLOW__API_AUTH__JWT_SECRET_CMD
AIRFLOW__API_AUTH__JWT_SECRET_SECRET
trusted_jwks_url¶
添加于版本 3.0.0。
要信任的 Task Execution 令牌颁发者的公共签名密钥。它必须包含与 jwt_private_key_path
相关的公钥,否则任务不太可能成功执行。
可以是本地文件路径(不带 file://
前缀)或 http/https URL。
如果给出远程 URL,它将定期轮询以获取更改。
与 jwt_secret
互斥。
如果提供了 jwt_private_key_path
但未设置此项,则私钥将被信任。如果提供了此项,您有责任确保用于生成的私钥在此列表中。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__API_AUTH__TRUSTED_JWKS_URL
- 示例:
"/path/to/public-jwks.json" 或 "https://my-issuer/.well-known/jwks.json"
[core]¶
allowed_deserialization_classes¶
添加于版本 2.5.0。
反序列化过程中可以导入的类的空格分隔列表。项目可以是 glob 表达式。Python 内置类(如 dict)始终允许。
- 类型:
字符串
- 默认值:
airflow.*
- 环境变量:
AIRFLOW__CORE__ALLOWED_DESERIALIZATION_CLASSES
- 示例:
airflow.* my_mod.my_other_mod.TheseClasses*
allowed_deserialization_classes_regexp¶
添加于版本 2.8.2。
反序列化过程中可以导入的类的空格分隔列表。项目按 regex 表达式处理。Python 内置类(如 dict)始终允许。这是 [core] allowed_deserialization_classes
的次要选项。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__CORE__ALLOWED_DESERIALIZATION_CLASSES_REGEXP
asset_manager_class¶
添加于版本 3.0.0。
用作资产管理器的类。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__CORE__ASSET_MANAGER_CLASS
- 示例:
airflow.assets.manager.AssetManager
asset_manager_kwargs¶
添加于版本 3.0.0。
提供给资产管理器的 Kwargs。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__CORE__ASSET_MANAGER_KWARGS
AIRFLOW__CORE__ASSET_MANAGER_KWARGS_CMD
AIRFLOW__CORE__ASSET_MANAGER_KWARGS_SECRET
- 示例:
{"some_param": "some_value"}
auth_manager¶
添加于版本 2.7.0。
Airflow 应使用的 auth manager 类。auth manager 类的完整导入路径。
- 类型:
字符串
- 默认值:
airflow.api_fastapi.auth.managers.simple.simple_auth_manager.SimpleAuthManager
- 环境变量:
AIRFLOW__CORE__AUTH_MANAGER
compress_serialized_dags¶
添加于版本 2.3.0。
如果为 True
,则在写入数据库前压缩序列化的 DAG。
注意
这将禁用 DAG 依赖关系视图
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__CORE__COMPRESS_SERIALIZED_DAGS
daemon_umask¶
添加于版本 2.3.4。
在守护进程模式(scheduler、worker 等)下运行时使用的默认 umask。
这控制文件创建模式掩码,决定新创建文件的初始文件权限位值。
此值被视为八进制整数。
- 类型:
字符串
- 默认值:
0o077
- 环境变量:
AIRFLOW__CORE__DAEMON_UMASK
dag_discovery_safe_mode¶
添加于版本 1.10.3。
如果启用,Airflow 将只扫描包含 DAG
和 airflow
(不区分大小写) 的文件。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__DAG_DISCOVERY_SAFE_MODE
dag_ignore_file_syntax¶
添加于版本 2.3.0。
DAG 目录中 .airflowignore 文件中使用的模式语法。有效值为 regexp
或 glob
。
- 类型:
字符串
- 默认值:
glob
- 环境变量:
AIRFLOW__CORE__DAG_IGNORE_FILE_SYNTAX
dag_run_conf_overrides_params¶
是否用 dag_run.conf 覆盖 params。如果您通过 airflow dags backfill -c
或 airflow dags trigger -c
传递一些键值对,这些键值对将覆盖 params 中已有的项。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__DAG_RUN_CONF_OVERRIDES_PARAMS
dagbag_import_error_traceback_depth¶
添加于版本 2.0.0。
如果显示 traceback,应显示 traceback 中的多少项。
- 类型:
整数
- 默认值:
2
- 环境变量:
AIRFLOW__CORE__DAGBAG_IMPORT_ERROR_TRACEBACK_DEPTH
dagbag_import_error_tracebacks¶
添加于版本 2.0.0。
对于 dagbag 导入错误,UI 中是否应显示 traceback,而不仅仅是异常消息。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__DAGBAG_IMPORT_ERROR_TRACEBACKS
dagbag_import_timeout¶
Python 文件导入超时前的时间。
- 类型:
浮点数
- 默认值:
30.0
- 环境变量:
AIRFLOW__CORE__DAGBAG_IMPORT_TIMEOUT
dags_are_paused_at_creation¶
DAG 在创建时是否默认暂停。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION
dags_folder¶
您的 Airflow 管道所在的文件夹,很可能是代码仓库中的一个子文件夹。此路径必须是绝对路径。
- 类型:
字符串
- 默认值:
{AIRFLOW_HOME}/dags
- 环境变量:
AIRFLOW__CORE__DAGS_FOLDER
database_access_isolation¶
添加于版本 2.6.0。
(实验性)组件是否应使用 Airflow Internal API 进行数据库连接。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__CORE__DATABASE_ACCESS_ISOLATION
default_impersonation¶
如果设置,没有 run_as_user
参数的任务将以此用户身份运行。可用于在执行任务时降低运行 Airflow 的 sudo 用户的权限。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__CORE__DEFAULT_IMPERSONATION
default_pool_task_slot_count¶
添加于版本 2.2.0。
default_pool
的任务槽计数。此设置对于已经创建 default_pool
的现有部署无效。对于现有部署,用户可以使用 Webserver、API 或 CLI 更改槽数。
- 类型:
字符串
- 默认值:
128
- 环境变量:
AIRFLOW__CORE__DEFAULT_POOL_TASK_SLOT_COUNT
default_task_execution_timeout¶
添加于版本 2.3.0。
operators 的默认任务执行超时值。期望一个整数值作为秒传递给 timedelta。如果未指定,则该值被视为 None,意味着 operators 默认永不超时。
- 类型:
整数
- 默认值:
''
- 环境变量:
AIRFLOW__CORE__DEFAULT_TASK_EXECUTION_TIMEOUT
default_task_retries¶
添加于版本 1.10.6。
每个任务默认重试次数。可以在 dag 或任务级别覆盖。
- 类型:
字符串
- 默认值:
0
- 环境变量:
AIRFLOW__CORE__DEFAULT_TASK_RETRIES
default_task_retry_delay¶
添加于版本 2.4.0。
每个任务默认在重试之间等待的秒数。可以在 dag 或任务级别覆盖。
- 类型:
整数
- 默认值:
300
- 环境变量:
AIRFLOW__CORE__DEFAULT_TASK_RETRY_DELAY
default_task_weight_rule¶
添加于版本 2.2.0。
用于计算任务有效总优先级权重的方法。
- 类型:
字符串
- 默认值:
downstream
- 环境变量:
AIRFLOW__CORE__DEFAULT_TASK_WEIGHT_RULE
default_timezone¶
在提供的日期时间是朴素(naive)时使用的默认时区,可以是 UTC(默认)、system,或任何 IANA <https://www.iana.org/time-zones> 时区字符串(例如 Europe/Amsterdam)。
- 类型:
字符串
- 默认值:
utc
- 环境变量:
AIRFLOW__CORE__DEFAULT_TIMEZONE
donot_pickle¶
是否禁用 pickling dags。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__DONOT_PICKLE
execute_tasks_new_python_interpreter¶
添加于版本 2.0.0。
任务是否应通过父进程的 forking 执行。
False
:通过父进程 forking 执行True
:生成新的 Python 进程,比 forking 慢,但意味着任务立即拾取插件更改
另请参阅
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__CORE__EXECUTE_TASKS_NEW_PYTHON_INTERPRETER
execution_api_server_url¶
添加于版本 3.0.0。
execution api 服务器的 URL。默认是 {BASE_URL}/execution/
,其中 {BASE_URL}
是 API 服务器的基本 URL。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__CORE__EXECUTION_API_SERVER_URL
executor¶
Airflow 应使用的 executor 类。选项包括 LocalExecutor
、CeleryExecutor
、KubernetesExecutor
或使用自定义 executor 时的类的完整导入路径。
- 类型:
字符串
- 默认值:
LocalExecutor
- 环境变量:
AIRFLOW__CORE__EXECUTOR
fernet_key¶
用于在数据库中保存连接密码的密钥。
- 类型:
字符串
- 默认值:
{FERNET_KEY}
- 环境变量:
AIRFLOW__CORE__FERNET_KEY
AIRFLOW__CORE__FERNET_KEY_CMD
AIRFLOW__CORE__FERNET_KEY_SECRET
hide_sensitive_var_conn_fields¶
添加于版本 2.1.0。
当设置为 True
时,在 UI 和任务日志中隐藏敏感的 Variables 或 Connection extra json keys。
注意
连接密码在日志中始终隐藏。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS
hostname_callable¶
通过提供可调用对象的路径来获取主机名。格式为“package.function”。
例如,默认值 airflow.utils.net.getfqdn
意味着使用 socket.getfqdn() 的修补版本的结果,请参阅相关的 CPython Issue。
指定函数中不应要求任何参数。如果首选使用 IP 地址作为主机名,请使用值 airflow.utils.net.get_host_ip_address
- 类型:
字符串
- 默认值:
airflow.utils.net.getfqdn
- 环境变量:
AIRFLOW__CORE__HOSTNAME_CALLABLE
internal_api_secret_key¶
新增于 2.10.0 版本。
用于核心系统认证内部 API 客户端的密钥。它应尽可能随机。但是,当运行超过 1 个 Webserver / 内部 API 服务实例时,请确保所有实例都使用相同的 secret_key
,否则调用将因认证失败而失败。使用密钥生成的认证令牌过期时间很短 - 请确保运行 Airflow 组件的 ALL 机器上的时间同步(例如使用 ntpd),否则在访问日志时可能会收到“forbidden”错误。
- 类型:
字符串
- 默认值:
{SECRET_KEY}
- 环境变量:
AIRFLOW__CORE__INTERNAL_API_SECRET_KEY
AIRFLOW__CORE__INTERNAL_API_SECRET_KEY_CMD
AIRFLOW__CORE__INTERNAL_API_SECRET_KEY_SECRET
internal_api_url¶
添加于版本 2.6.0。
(实验性) Airflow 内部 API URL。仅当 [core] database_access_isolation
设置为 True
时使用。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__CORE__INTERNAL_API_URL
- 示例:
http://localhost:8080
killed_task_cleanup_time¶
当任务被强制终止时,这是在发送 SIGTERM 后,到被 SIGKILLED 之前,任务进行清理的时间(以秒为单位)。
- 类型:
字符串
- 默认值:
60
- 环境变量:
AIRFLOW__CORE__KILLED_TASK_CLEANUP_TIME
lazy_discover_providers¶
添加于版本 2.0.0。
默认情况下,Airflow provider 是延迟发现的(仅在需要时进行发现和导入)。如果您希望在每次通过 cli 调用或从模块加载 'airflow' 时都发现 provider,请将其设置为 False
。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__LAZY_DISCOVER_PROVIDERS
lazy_load_plugins¶
添加于版本 2.0.0。
默认情况下,Airflow 插件是延迟加载的(仅在需要时加载)。如果您希望在每次通过 cli 调用或从模块加载 'airflow' 时都加载插件,请将其设置为 False
。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__LAZY_LOAD_PLUGINS
load_examples¶
是否加载 Airflow 自带的 DAG 示例。这对于入门很有用,但在生产环境中您可能需要将其设置为 False
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__CORE__LOAD_EXAMPLES
max_active_runs_per_dag¶
每个 DAG 的最大活跃 DAG 运行数。如果达到此限制,调度器将不会创建更多的 DAG 运行。这可以在 DAG 级别通过 max_active_runs
进行配置,默认值为 [core] max_active_runs_per_dag
。
- 类型:
字符串
- 默认值:
16
- 环境变量:
AIRFLOW__CORE__MAX_ACTIVE_RUNS_PER_DAG
max_active_tasks_per_dag¶
添加于版本 2.2.0。
每个 DAG 中允许同时运行的最大任务实例数。要计算 DAG 当前正在运行的任务数量,请将该 DAG 的所有 DAG 运行中正在运行的任务数量相加。这可以在 DAG 级别通过 max_active_tasks
进行配置,默认值为 [core] max_active_tasks_per_dag
。
此功能的一个有用场景示例是,当您希望阻止具有较早开始日期的新 dag 占用集群中所有执行器槽位。
- 类型:
字符串
- 默认值:
16
- 环境变量:
AIRFLOW__CORE__MAX_ACTIVE_TASKS_PER_DAG
max_consecutive_failed_dag_runs_per_dag¶
新增于 2.9.0 版本。
(实验性) DAG 自动暂停前连续失败的最大次数。这也可以在每个 DAG 级别通过 max_consecutive_failed_dag_runs
进行配置,默认值为 [core] max_consecutive_failed_dag_runs_per_dag
。如果未指定,则该值被视为 0,表示默认情况下 dag 永远不会被暂停。
- 类型:
字符串
- 默认值:
0
- 环境变量:
AIRFLOW__CORE__MAX_CONSECUTIVE_FAILED_DAG_RUNS_PER_DAG
max_map_length¶
添加于版本 2.3.0。
XCom 可以推送的列表/字典的最大长度,用于触发任务映射。如果推送的列表/字典的长度超过此值,推送 XCom 的任务将自动失败,以防止映射任务阻塞调度器。
- 类型:
整数
- 默认值:
1024
- 环境变量:
AIRFLOW__CORE__MAX_MAP_LENGTH
max_num_rendered_ti_fields_per_task¶
新增于 1.10.10 版本。
每个任务存储在数据库中的渲染任务实例字段(模板字段)的最大数量。每个任务实例的所有 template_fields 都存储在数据库中。保持此数量较小可能会导致在尝试查看较早任务的 TaskInstance 视图中的 Rendered
标签页时出错。
- 类型:
整数
- 默认值:
30
- 环境变量:
AIRFLOW__CORE__MAX_NUM_RENDERED_TI_FIELDS_PER_TASK
max_task_retry_delay¶
添加于版本 2.6.0。
默认情况下,每个任务在重试之间等待的最长延迟时间(以秒为单位)。这是一个全局设置,不能在任务或 DAG 级别覆盖。
- 类型:
整数
- 默认值:
86400
- 环境变量:
AIRFLOW__CORE__MAX_TASK_RETRY_DELAY
max_templated_field_length¶
新增于 2.9.0 版本。
渲染模板字段的最大长度。如果存储在渲染模板字段中的值超过此大小,则会将其 redacted。
- 类型:
整数
- 默认值:
4096
- 环境变量:
AIRFLOW__CORE__MAX_TEMPLATED_FIELD_LENGTH
might_contain_dag_callable¶
添加于版本 2.6.0。
一个可调用对象,用于检查 python 文件是否定义了 airflow dags,如果包含 dags 则应返回 True
,否则返回 False
。如果未提供此参数,Airflow 将使用其自身的启发式规则。
该函数应具有以下签名
def func_name(file_path: str, zip_file: zipfile.ZipFile | None = None) -> bool: ...
- 类型:
字符串
- 默认值:
airflow.utils.file.might_contain_dag_via_default_heuristic
- 环境变量:
AIRFLOW__CORE__MIGHT_CONTAIN_DAG_CALLABLE
min_serialized_dag_fetch_interval¶
新增于 1.10.12 版本。
为降低数据库读取速率,获取序列化 DAG 的速度不能快于最小间隔。此配置控制您的 DAG 在 Webserver 中的更新频率。
- 类型:
字符串
- 默认值:
10
- 环境变量:
AIRFLOW__CORE__MIN_SERIALIZED_DAG_FETCH_INTERVAL
min_serialized_dag_update_interval¶
新增于 1.10.7 版本。
为降低数据库写入速率,更新序列化 DAG 的速度不能快于最小间隔。
- 类型:
字符串
- 默认值:
30
- 环境变量:
AIRFLOW__CORE__MIN_SERIALIZED_DAG_UPDATE_INTERVAL
mp_start_method¶
添加于版本 2.0.0。
用于通过 multiprocessing 模块启动 Python 进程的方法名称。这直接对应于 Python 文档中可用的选项:multiprocessing.set_start_method 必须是 multiprocessing.get_all_start_methods() 返回的值之一。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__CORE__MP_START_METHOD
- 示例:
fork
parallelism¶
这定义了每个 Airflow 调度器可以同时运行的最大任务实例数量,与 worker 数量无关。通常,此值乘以集群中调度器的数量,就是元数据数据库中处于 running 状态的任务实例的最大数量。该值必须大于或等于 1。
- 类型:
字符串
- 默认值:
32
- 环境变量:
AIRFLOW__CORE__PARALLELISM
plugins_folder¶
包含 Airflow 插件的文件夹路径
- 类型:
字符串
- 默认值:
{AIRFLOW_HOME}/plugins
- 环境变量:
AIRFLOW__CORE__PLUGINS_FOLDER
security¶
要使用的安全模块(例如 kerberos)
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__CORE__SECURITY
sensitive_var_conn_names¶
添加于版本 2.1.0。
一个逗号分隔的额外敏感关键字列表,用于在变量名称或连接的 extra JSON 中查找。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__CORE__SENSITIVE_VAR_CONN_NAMES
simple_auth_manager_all_admins¶
添加于版本 3.0.0。
是否禁用身份验证并允许环境中的所有用户作为 admin。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_ALL_ADMINS
simple_auth_manager_passwords_file¶
添加于版本 3.0.0。
simple auth manager 存储已配置用户密码的 json 文件。默认是 AIRFLOW_HOME/simple_auth_manager_passwords.json.generated
。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_PASSWORDS_FILE
- 示例:
/path/to/passwords.json
simple_auth_manager_users¶
添加于版本 3.0.0。
simple auth manager 中用户及其关联角色的列表。如果在您的环境中使用 simple auth manager,此列表控制谁可以访问环境。
用户-角色列表,以逗号分隔。每个用户-角色都是由用户名和角色组成的冒号分隔对。角色在 simple auth managers 中预定义:viewer, user, op, admin。
- 类型:
字符串
- 默认值:
admin:admin
- 环境变量:
AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_USERS
- 示例:
bob:admin,peter:viewer
task_success_overtime¶
新增于 2.10.0 版本。
任务标记为成功后,执行辅助进程(如 listener、mini scheduler 等)可能的最长耗时(以秒为单位)。
- 类型:
整数
- 默认值:
20
- 环境变量:
AIRFLOW__CORE__TASK_SUCCESS_OVERTIME
test_connection¶
添加于版本 2.7.0。
允许在 Airflow UI、API 和 CLI 中测试连接的功能。支持的选项:Disabled
, Enabled
, Hidden
。默认值:Disabled Disabled - 禁用测试连接功能并禁用 UI 中的“测试连接”按钮。Enabled - 启用测试连接功能并在 UI 中显示“测试连接”按钮。Hidden - 禁用测试连接功能并在 UI 中隐藏“测试连接”按钮。在将其设置为 Enabled 之前,请确保您审核能够添加/编辑连接的用户,并确保他们是受信任的。恶意进行连接测试可能导致不期望和不安全的结果。更多详情请参阅 Airflow 安全模型:认证 UI 用户的能力。
- 类型:
字符串
- 默认值:
Disabled
- 环境变量:
AIRFLOW__CORE__TEST_CONNECTION
unit_test_mode¶
开启单元测试模式(运行时将许多配置选项覆盖为测试值)
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__CORE__UNIT_TEST_MODE
xcom_backend¶
新增于 1.10.12 版本。
用于存储和解析操作符结果的自定义 XCom 类的路径
- 类型:
字符串
- 默认值:
airflow.sdk.execution_time.xcom.BaseXCom
- 环境变量:
AIRFLOW__CORE__XCOM_BACKEND
- 示例:
path.to.CustomXCom
[dag_processor]¶
- Airflow DAG processor 的配置。例如,这包括
DAG bundles,它允许 Airflow 从不同来源加载 DAG
- 解析配置,例如
从这些来源刷新 DAG 的频率
同时解析的文件数量
bundle_refresh_check_interval¶
DAG processor 应多久检查一次是否有任何 DAG bundles 已准备好刷新,无论是达到 bundles 的 refresh_interval 还是因为另一个 DAG processor 看到了 bundle 的较新版本。较低的值意味着我们更频繁地检查,并且 DAG processor 之间因解析相同 bundle 的不同版本而不同步的时间窗口更小。
- 类型:
整数
- 默认值:
5
- 环境变量:
AIRFLOW__DAG_PROCESSOR__BUNDLE_REFRESH_CHECK_INTERVAL
dag_bundle_config_list¶
添加于版本 3.0.0。
后端配置列表。必须为每个后端提供 name, classpath 和 kwargs。
默认情况下,refresh_interval
设置为 [dag_processor] refresh_interval
,但如果需要,也可以在 kwargs 中覆盖它。
默认是 dags 文件夹的 dag bundle。
注意:如下所示,您可以通过缩进将 json 配置分割到多行。请参阅 configparser 文档中的示例:https://docs.pythonlang.cn/3/library/configparser.html#supported-ini-file-structure。
- 类型:
字符串
- 默认值:
[ { "name": "dags-folder", "classpath": "airflow.dag_processing.bundles.local.LocalDagBundle", "kwargs": {} } ]
- 环境变量:
AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_CONFIG_LIST
- 示例:
[ { "name": "my-git-repo", "classpath": "airflow.providers.git.bundles.git.GitDagBundle", "kwargs": { "subdir": "dags", "tracking_ref": "main", "refresh_interval": 0 } } ]
dag_bundle_storage_path¶
添加于版本 3.0.0。
字符串路径,指向 Airflow bundles 可以在本地存储文件的文件夹。不可模板化。如果未提供路径,Airflow 将使用 Path(tempfile.gettempdir()) / "airflow"
。此路径必须是绝对路径。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__DAG_PROCESSOR__DAG_BUNDLE_STORAGE_PATH
- 示例:
/tmp/some-place
dag_file_processor_timeout¶
DagFileProcessor 处理 dag 文件超时前的时间
- 类型:
字符串
- 默认值:
50
- 环境变量:
AIRFLOW__DAG_PROCESSOR__DAG_FILE_PROCESSOR_TIMEOUT
disable_bundle_versioning¶
始终使用最新代码运行任务。如果设置为 True,bundle 版本将不会存储在 dag run 上,因此始终使用最新代码。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__DAG_PROCESSOR__DISABLE_BUNDLE_VERSIONING
file_parsing_sort_mode¶
modified_time
, random_seeded_by_host
和 alphabetical
之一。DAG processor 将列出并排序 dag 文件以决定解析顺序。
modified_time
: 按文件的修改时间排序。这在大规模环境中很有用,可以优先解析最近修改的 DAG。random_seeded_by_host
: 在多个 DAG processor 中随机排序,但在同一主机上顺序相同,允许每个 processor 以不同的顺序解析文件。alphabetical
: 按文件名排序
- 类型:
字符串
- 默认值:
modified_time
- 环境变量:
AIRFLOW__DAG_PROCESSOR__FILE_PARSING_SORT_MODE
max_callbacks_per_loop¶
单个循环中获取的最大回调数。
- 类型:
整数
- 默认值:
20
- 环境变量:
AIRFLOW__DAG_PROCESSOR__MAX_CALLBACKS_PER_LOOP
min_file_process_interval¶
解析 DAG 文件后的秒数。DAG 文件每隔 [dag_processor] min_file_process_interval
秒解析一次。DAG 的更新在此间隔后反映。将此数字设置得较低会增加 CPU 使用率。
- 类型:
整数
- 默认值:
30
- 环境变量:
AIRFLOW__DAG_PROCESSOR__MIN_FILE_PROCESS_INTERVAL
parsing_processes¶
DAG processor 可以并行运行多个进程来解析 dags。这定义了将运行的进程数量。
- 类型:
整数
- 默认值:
2
- 环境变量:
AIRFLOW__DAG_PROCESSOR__PARSING_PROCESSES
print_stats_interval¶
DAG processor 统计信息打印到日志的频率。设置为 0 将禁用打印统计信息。
- 类型:
整数
- 默认值:
30
- 环境变量:
AIRFLOW__DAG_PROCESSOR__PRINT_STATS_INTERVAL
refresh_interval¶
刷新或查找 DAG bundle 中新文件的频率(以秒为单位)。
- 类型:
整数
- 默认值:
300
- 环境变量:
AIRFLOW__DAG_PROCESSOR__REFRESH_INTERVAL
stale_bundle_cleanup_age_threshold¶
比此阈值更新的 bundle 版本将不会被移除。使用的近况取决于任务在 worker 上开始运行的时间,该年龄与此设置进行比较,以秒为单位的时间差表示。
- 类型:
整数
- 默认值:
21600
- 环境变量:
AIRFLOW__DAG_PROCESSOR__STALE_BUNDLE_CLEANUP_AGE_THRESHOLD
stale_bundle_cleanup_interval¶
在共享 worker 上,随着任务运行和 bundle 版本更改,bundle 副本会在本地存储中积累。此设置表示检查这些陈旧 bundle 之间的时间差(以秒为单位)。早于 stale_bundle_cleanup_age_threshold 的 bundle 可能会被移除。但我们始终在本地保留 stale_bundle_cleanup_min_versions 个版本。设置为 0 或负数以禁用。
- 类型:
整数
- 默认值:
1800
- 环境变量:
AIRFLOW__DAG_PROCESSOR__STALE_BUNDLE_CLEANUP_INTERVAL
stale_bundle_cleanup_min_versions¶
在磁盘上保留的本地 bundle 版本的最小数量。早于 stale_bundle_cleanup_age_threshold 的本地 bundle 版本仅在我们积累了超过 stale_bundle_cleanup_min_versions 个版本时才会被删除。
- 类型:
整数
- 默认值:
10
- 环境变量:
AIRFLOW__DAG_PROCESSOR__STALE_BUNDLE_CLEANUP_MIN_VERSIONS
stale_dag_threshold¶
在重新解析 DAG 文件后,在停用陈旧 DAG(预期文件中不再存在的 DAG)之前等待的时间(以秒为单位)。需要此阈值的原因是为了考虑文件被解析和 DAG 加载之间的时间。这绝对最大可能花费的时间是 [dag_processor] dag_file_processor_timeout
,但如果配置了较长的超时时间,会导致停用陈旧 dags 的显著延迟。
- 类型:
整数
- 默认值:
50
- 环境变量:
AIRFLOW__DAG_PROCESSOR__STALE_DAG_THRESHOLD
[database]¶
alembic_ini_file_path¶
添加于版本 2.7.0。
指向 alembic.ini
文件的路径。您可以提供相对于 Airflow 主目录的文件路径,或者如果它位于其他位置,则提供绝对路径。
- 类型:
字符串
- 默认值:
alembic.ini
- 环境变量:
AIRFLOW__DATABASE__ALEMBIC_INI_FILE_PATH
check_migrations¶
添加于版本 2.6.0。
Airflow 启动期间是否运行 alembic 迁移。有时此操作可能很耗时,用户可以通过其他方式(例如通过 Helm chart)确保正确的版本。接受 True
或 False
。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__DATABASE__CHECK_MIGRATIONS
external_db_managers¶
添加于版本 3.0.0。
用于在 airflow 数据库中迁移外部表的 DB 管理器列表。管理器必须继承自 BaseDBManager。如果在环境中配置了 FabAuthManager
,则会自动添加 airflow.providers.fab.auth_manager.models.db.FABDBManager
。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS
- 示例:
airflow.providers.fab.auth_manager.models.db.FABDBManager
max_db_retries¶
添加于版本 2.3.0。
在发生 DB 操作错误时,代码应重试的次数。并非所有事务都会重试,因为它可能导致非期望状态。目前仅在 DagFileProcessor.process_file
中用于重试 dagbag.sync_to_db
。
- 类型:
整数
- 默认值:
3
- 环境变量:
AIRFLOW__DATABASE__MAX_DB_RETRIES
migration_batch_size¶
添加于版本 3.0.0。
执行迁移时,每个批次处理的行数。这对于大型表很有用,可以避免锁定以及由于查询超时导致的失败。
- 类型:
整数
- 默认值:
10000
- 环境变量:
AIRFLOW__DATABASE__MIGRATION_BATCH_SIZE
sql_alchemy_conn¶
添加于版本 2.3.0。
到元数据数据库的 SQLAlchemy 连接字符串。SQLAlchemy 支持许多不同的数据库引擎。更多详情请参阅:设置数据库后端:数据库 URI。
- 类型:
字符串
- 默认值:
sqlite:///{AIRFLOW_HOME}/airflow.db
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN_CMD
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN_SECRET
sql_alchemy_connect_args¶
添加于版本 2.3.0。
SQLAlchemy 中连接参数的导入路径。默认为空字典。当您想配置 SQLAlchemy 在连接字符串中无法解析的 db 引擎参数时,此设置很有用。可以通过传递包含创建引擎参数的字典来设置此参数。有关在 Postgres DB 后端传递创建引擎参数(保持连接变量、超时等)的更多详情,请参阅设置 PostgreSQL 数据库,例如 connect_args={"timeout":30}
可以在 airflow_local_settings.py
中定义,并如下所示导入
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_CONNECT_ARGS
- 示例:
airflow_local_settings.connect_args
sql_alchemy_engine_args¶
添加于版本 2.3.0。
传递给 SQLAlchemy 的 create_engine 的额外引擎特定关键字参数,作为 JSON 编码的值
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_ENGINE_ARGS
AIRFLOW__DATABASE__SQL_ALCHEMY_ENGINE_ARGS_CMD
AIRFLOW__DATABASE__SQL_ALCHEMY_ENGINE_ARGS_SECRET
- 示例:
{"arg1": true}
sql_alchemy_max_overflow¶
添加于版本 2.3.0。
连接池的最大溢出大小。当检出的连接数达到 pool_size 设置的大小时,将返回额外的连接直到达到此限制。当这些额外的连接返回到连接池时,它们将被断开并丢弃。因此,连接池允许的总并发连接数是 pool_size + max_overflow,而连接池允许的总“休眠”连接数是 pool_size。max_overflow
可以设置为 -1
,表示没有溢出限制;对并发连接总数没有限制。默认为 10
。
- 类型:
字符串
- 默认值:
10
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_MAX_OVERFLOW
sql_alchemy_pool_enabled¶
添加于版本 2.3.0。
SQLAlchemy 是否应该对数据库连接进行连接池。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_POOL_ENABLED
sql_alchemy_pool_pre_ping¶
添加于版本 2.3.0。
在每次连接池取出连接时检查连接。通常,这是一个简单的语句,例如“SELECT 1”。有关更多详细信息,请参阅SQLAlchemy 连接池:断开连接处理 - 悲观方式。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_POOL_PRE_PING
sql_alchemy_pool_recycle¶
添加于版本 2.3.0。
SQLAlchemy 连接池回收是连接在连接池中可以空闲多少秒后失效的秒数。此配置不适用于 sqlite。如果数据库连接数超出限制,较低的配置值将使系统更快恢复。
- 类型:
字符串
- 默认值:
1800
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_POOL_RECYCLE
sql_alchemy_pool_size¶
添加于版本 2.3.0。
SQLAlchemy 连接池大小是连接池中数据库连接的最大数量。0 表示没有限制。
- 类型:
字符串
- 默认值:
5
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_POOL_SIZE
sql_alchemy_schema¶
添加于版本 2.3.0。
用于元数据数据库的 schema。SQLAlchemy 支持具有多个 schema 概念的数据库。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_SCHEMA
sql_alchemy_session_maker¶
新增于 2.10.0 版本。
重要警告:强烈不建议使用 sql_alchemy_session_maker 返回 'sqlalchemy.orm.sessionmaker' 函数的导入路径。不正确的 sql_alchemy_session_maker 配置可能导致严重问题,包括数据损坏、无法恢复的应用程序崩溃。请查阅 SQLAlchemy 文档,获取有关正确配置和最佳实践的详细指南。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__DATABASE__SQL_ALCHEMY_SESSION_MAKER
- 示例:
airflow_local_settings._sessionmaker
sql_engine_collation_for_ids¶
添加于版本 2.3.0。
dag_id
, task_id
, key
, external_executor_id
列的排序规则,以防它们的编码不同。默认情况下,此排序规则与数据库排序规则相同,但对于 mysql
和 mariadb
,默认值为 utf8mb3_bin
,以便在排序规则设置为 utf8mb4
变体时,索引键的索引大小不会超过允许的最大索引大小,更多详情请参阅GitHub Issue Comment。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__DATABASE__SQL_ENGINE_COLLATION_FOR_IDS
sql_engine_encoding¶
添加于版本 2.3.0。
数据库的编码
- 类型:
字符串
- 默认值:
utf-8
- 环境变量:
AIRFLOW__DATABASE__SQL_ENGINE_ENCODING
[email]¶
电子邮件后端配置以及是否在重试或失败时发送电子邮件警报
default_email_on_failure¶
添加于版本 2.0.0。
任务失败时是否应发送电子邮件警报
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__EMAIL__DEFAULT_EMAIL_ON_FAILURE
default_email_on_retry¶
添加于版本 2.0.0。
任务重试时是否应发送电子邮件警报
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__EMAIL__DEFAULT_EMAIL_ON_RETRY
email_backend¶
要使用的电子邮件后端
- 类型:
字符串
- 默认值:
airflow.utils.email.send_email_smtp
- 环境变量:
AIRFLOW__EMAIL__EMAIL_BACKEND
email_conn_id¶
添加于版本 2.1.0。
要使用的电子邮件连接
- 类型:
字符串
- 默认值:
smtp_default
- 环境变量:
AIRFLOW__EMAIL__EMAIL_CONN_ID
from_email¶
新增于 2.2.4 版本。
将用作发件人地址的电子邮件地址。它可以是原始电子邮件地址,也可以是 Sender Name <sender@email.com>
格式的完整地址
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__EMAIL__FROM_EMAIL
- 示例:
Airflow <airflow@example.com>
html_content_template¶
新增于 2.0.1 版本。
将用作电子邮件内容模板的文件(将使用 Jinja2 渲染)。如果未设置,Airflow 将使用基本模板。
另请参阅
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__EMAIL__HTML_CONTENT_TEMPLATE
- 示例:
/path/to/my_html_content_template_file
ssl_context¶
添加于版本 2.7.0。
使用 SMTP 和 IMAP SSL 连接时使用的 SSL 上下文。默认情况下,上下文为“default”,这将其设置为 ssl.create_default_context()
,它在兼容性和安全性之间提供了适当的平衡,但这要求您的操作系统中的证书是最新的,并且您的 SMTP/IMAP 服务器具有有效的证书,并在您的机器上安装了相应的公钥。如果您想禁用证书检查,可以将其切换为“none”,但不建议这样做,因为如果您的基础设施安全性不足,这会允许 MITM(中间人)攻击。仅在您修复证书配置期间临时设置此项。这通常可以通过升级运行 Airflow 组件的操作系统到较新版本、升级/刷新操作系统中的相应证书或更新您的邮件服务器的证书来完成。
- 类型:
字符串
- 默认值:
default
- 环境变量:
AIRFLOW__EMAIL__SSL_CONTEXT
- 示例:
default
subject_template¶
新增于 2.0.1 版本。
将用作电子邮件主题模板(将使用 Jinja2 渲染)的文件。如果未设置,Airflow 将使用基础模板。
另请参阅
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__EMAIL__SUBJECT_TEMPLATE
- 示例:
/path/to/my_subject_template_file
[execution_api]¶
与执行 API 服务器相关的设置。
ExecutionAPI 也使用了 [api_auth] 部分中的许多设置。
jwt_audience¶
添加于版本 3.0.0。
为 Execution API 生成和验证 JWT 时使用的 audience claim。
此变量可以是单个值,也可以是逗号分隔的字符串;如果是字符串,则第一个值用于生成,其他值在验证时接受。
非必需,但强烈建议
另请参阅 jwt_audience
- 类型:
字符串
- 默认值:
urn:airflow.apache.org:task
- 环境变量:
AIRFLOW__EXECUTION_API__JWT_AUDIENCE
jwt_expiration_time¶
添加于版本 3.0.0。
用于身份验证的 JWT 的过期时间(以秒为单位)。令牌过期后,使用此令牌的所有 API 调用都将验证失败。
确保运行 Airflow 组件的所有机器上的时间同步(例如使用 ntpd),否则可能会遇到“forbidden”错误。
- 类型:
整数
- 默认值:
600
- 环境变量:
AIRFLOW__EXECUTION_API__JWT_EXPIRATION_TIME
[kerberos]¶
ccache¶
执行 kinit 后 ccache 文件的位置。
- 类型:
字符串
- 默认值:
/tmp/airflow_krb5_ccache
- 环境变量:
AIRFLOW__KERBEROS__CCACHE
forwardable¶
添加于版本 2.2.0。
允许禁用票据可转发性。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__KERBEROS__FORWARDABLE
include_ip¶
添加于版本 2.2.0。
允许从令牌中移除源 IP,在使用经过 NAT 处理的 Docker 主机后面的令牌时很有用。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__KERBEROS__INCLUDE_IP
keytab¶
指定 Airflow 用户 Kerberos keytab 文件的路径
- 类型:
字符串
- 默认值:
airflow.keytab
- 环境变量:
AIRFLOW__KERBEROS__KEYTAB
kinit_path¶
kinit 可执行文件的路径
- 类型:
字符串
- 默认值:
kinit
- 环境变量:
AIRFLOW__KERBEROS__KINIT_PATH
principal¶
会与 FQDN 合并
- 类型:
字符串
- 默认值:
airflow
- 环境变量:
AIRFLOW__KERBEROS__PRINCIPAL
reinit_frequency¶
确定初始化或重新初始化过程发生的频率。
- 类型:
字符串
- 默认值:
3600
- 环境变量:
AIRFLOW__KERBEROS__REINIT_FREQUENCY
[lineage]¶
backend¶
使用何种 lineage 后端
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LINEAGE__BACKEND
[logging]¶
base_log_folder¶
添加于版本 2.0.0。
Airflow 应该存储其日志文件的文件夹。此路径必须是绝对路径。有一些现有配置假定此项设置为默认值。如果您选择覆盖此项,可能还需要更新 [logging] dag_processor_manager_log_location
和 [logging] dag_processor_child_process_log_directory settings
。
- 类型:
字符串
- 默认值:
{AIRFLOW_HOME}/logs
- 环境变量:
AIRFLOW__LOGGING__BASE_LOG_FOLDER
celery_logging_level¶
添加于版本 2.3.0。
Celery 的日志级别。如果未设置,则使用 logging_level 的值。
支持的值:CRITICAL
、ERROR
、WARNING
、INFO
、DEBUG
。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__CELERY_LOGGING_LEVEL
celery_stdout_stderr_separation¶
添加于版本 2.7.0。
默认情况下,Celery 将所有日志发送到 stderr。如果启用此选项,任何先前的日志处理程序将被移除。启用此选项后,AirFlow 将创建新的处理程序,并将 INFO 和 WARNING 等低级别日志发送到 stdout,同时将更高级别的严重性日志发送到 stderr。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__LOGGING__CELERY_STDOUT_STDERR_SEPARATION
color_log_error_keywords¶
新增于 2.10.0 版本。
一个逗号分隔的关键字列表,与错误相关,当其存在时,UI 中的日志行将显示为红色。
- 类型:
字符串
- 默认值:
error,exception
- 环境变量:
AIRFLOW__LOGGING__COLOR_LOG_ERROR_KEYWORDS
color_log_warning_keywords¶
新增于 2.10.0 版本。
一个逗号分隔的关键字列表,与警告相关,当其存在时,UI 中的日志行将显示为黄色。
- 类型:
字符串
- 默认值:
warn
- 环境变量:
AIRFLOW__LOGGING__COLOR_LOG_WARNING_KEYWORDS
colored_console_log¶
添加于版本 2.0.0。
在控制台中启用/禁用彩色日志的标志。当控制终端是 TTY 时,日志将着色。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__LOGGING__COLORED_CONSOLE_LOG
colored_formatter_class¶
添加于版本 2.0.0。
指定 Airflow 用于实现彩色日志记录的类。
- 类型:
字符串
- 默认值:
airflow.utils.log.colored_log.CustomTTYColoredFormatter
- 环境变量:
AIRFLOW__LOGGING__COLORED_FORMATTER_CLASS
colored_log_format¶
添加于版本 2.0.0。
启用彩色日志时的日志格式。
- 类型:
字符串
- 默认值:
[%%(blue)s%%(asctime)s%%(reset)s] {%%(blue)s%%(filename)s:%%(reset)s%%(lineno)d} %%(log_color)s%%(levelname)s%%(reset)s - %%(log_color)s%%(message)s%%(reset)s
- 环境变量:
AIRFLOW__LOGGING__COLORED_LOG_FORMAT
dag_processor_child_process_log_directory¶
确定 dag 处理器子进程的日志将存储在哪个目录。
- 类型:
字符串
- 默认值:
{AIRFLOW_HOME}/logs/dag_processor
- 环境变量:
AIRFLOW__LOGGING__DAG_PROCESSOR_CHILD_PROCESS_LOG_DIRECTORY
dag_processor_log_format¶
添加于版本 2.4.0。
Dag 处理器日志行的格式。
- 类型:
字符串
- 默认值:
[%%(asctime)s] [SOURCE:DAG_PROCESSOR] {%%(filename)s:%%(lineno)d} %%(levelname)s - %%(message)s
- 环境变量:
AIRFLOW__LOGGING__DAG_PROCESSOR_LOG_FORMAT
dag_processor_log_target¶
添加于版本 2.4.0。
发送 dag 解析器日志的位置。如果设置为“file”,日志将发送到由 child_process_log_directory 定义的日志文件。
- 类型:
字符串
- 默认值:
file
- 环境变量:
AIRFLOW__LOGGING__DAG_PROCESSOR_LOG_TARGET
delete_local_logs¶
添加于版本 2.6.0。
对于 GCS、S3、WASB、HDFS 和 OSS 远程日志记录,在将本地日志文件上传到远程位置后是否应将其删除。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__LOGGING__DELETE_LOCAL_LOGS
encrypt_s3_logs¶
添加于版本 2.0.0。
对存储在 S3 中的日志使用服务器端加密。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__LOGGING__ENCRYPT_S3_LOGS
extra_logger_names¶
添加于版本 2.0.0。
一个逗号分隔的第三方 logger 名称列表,这些 logger 将被配置为向控制台打印消息。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__EXTRA_LOGGER_NAMES
- 示例:
fastapi,sqlalchemy
fab_logging_level¶
添加于版本 2.0.0。
Flask-appbuilder UI 的日志级别。
支持的值:CRITICAL
、ERROR
、WARNING
、INFO
、DEBUG
。
- 类型:
字符串
- 默认值:
WARNING
- 环境变量:
AIRFLOW__LOGGING__FAB_LOGGING_LEVEL
file_task_handler_new_file_permissions¶
添加于版本 2.6.0。
权限采用八进制字符串形式,如 chmod 所理解。当您使用模拟时(日志由与 airflow 不同的用户写入),权限非常重要。在这种情况下,最安全的配置方法是将两个用户添加到同一个组,并使其成为两个用户的默认组。组可写入日志是 airflow 的默认设置,但您可能认为允许其他人可写入日志是可以接受的,在这种情况下,您应将其设置为 0o666
。如果您不使用模拟,并且想增加安全性,可以将其更改为 0o644
,使其仅所有者可写。如果您的所有日志访问(读/写)都来自同一个用户,您也可以将其更改为 0o600
,使其仅所有者可读。
- 类型:
字符串
- 默认值:
0o664
- 环境变量:
AIRFLOW__LOGGING__FILE_TASK_HANDLER_NEW_FILE_PERMISSIONS
- 示例:
0o664
file_task_handler_new_folder_permissions¶
添加于版本 2.6.0。
权限采用八进制字符串形式,如 chmod 所理解。当您使用模拟时(日志由与 airflow 不同的用户写入),权限非常重要。在这种情况下,最安全的配置方法是将两个用户添加到同一个组,并使其成为两个用户的默认组。组可写入日志是 airflow 的默认设置,但您可能认为允许其他人可写入日志是可以接受的,在这种情况下,您应将其设置为 0o777
。如果您不使用模拟,并且想增加安全性,可以将其更改为 0o755
,使其仅所有者可写。如果您的所有日志访问(读/写)都来自同一个用户,您也可以将其更改为 0o700
,使其仅所有者可读。
- 类型:
字符串
- 默认值:
0o775
- 环境变量:
AIRFLOW__LOGGING__FILE_TASK_HANDLER_NEW_FOLDER_PERMISSIONS
- 示例:
0o775
google_key_path¶
添加于版本 2.0.0。
Google 凭据 JSON 文件的路径。如果省略,将使用应用程序默认凭据进行授权。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__GOOGLE_KEY_PATH
interleave_timestamp_parser¶
添加于版本 2.6.0。
我们必须解析时间戳以在触发器和任务之间交错日志。为此,我们需要解析日志文件中的时间戳。如果您的日志格式非标准,您可以提供一个可调用对象的导入路径,该对象接受一个字符串日志行并返回时间戳(与 datetime.datetime 兼容)。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__LOGGING__INTERLEAVE_TIMESTAMP_PARSER
- 示例:
path.to.my_func
log_filename_template¶
添加于版本 2.0.0。
Airflow 为每个任务运行生成文件名/路径的格式。
- 类型:
字符串
- 默认值:
dag_id={ ti.dag_id }/run_id={ ti.run_id }/task_id={ ti.task_id }/{%% if ti.map_index >= 0 %%}map_index={ ti.map_index }/{%% endif %%}attempt={ try_number|default(ti.try_number) }.log
- 环境变量:
AIRFLOW__LOGGING__LOG_FILENAME_TEMPLATE
log_format¶
添加于版本 2.0.0。
日志行的格式
- 类型:
字符串
- 默认值:
[%%(asctime)s] {%%(filename)s:%%(lineno)d} %%(levelname)s - %%(message)s
- 环境变量:
AIRFLOW__LOGGING__LOG_FORMAT
log_formatter_class¶
添加于版本 2.3.4。
确定 Airflow 用于构建其日志消息的格式化程序类。默认的格式化程序类是时区感知的,这意味着附加到日志条目的时间戳将调整以反映 Airflow 实例的本地时区。
- 类型:
字符串
- 默认值:
airflow.utils.log.timezone_aware.TimezoneAware
- 环境变量:
AIRFLOW__LOGGING__LOG_FORMATTER_CLASS
logging_config_class¶
添加于版本 2.0.0。
日志记录类。指定将指定日志记录配置的类。此类必须在 python classpath 上。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__LOGGING_CONFIG_CLASS
- 示例:
my.path.default_local_settings.LOGGING_CONFIG
logging_level¶
添加于版本 2.0.0。
日志级别。
支持的值:CRITICAL
、ERROR
、WARNING
、INFO
、DEBUG
。
- 类型:
字符串
- 默认值:
INFO
- 环境变量:
AIRFLOW__LOGGING__LOGGING_LEVEL
min_length_masked_secret¶
添加于版本 3.0.0。
在日志消息中需要被屏蔽的秘密的最小长度。短于此长度的秘密将不会被屏蔽。
- 类型:
整数
- 默认值:
5
- 环境变量:
AIRFLOW__LOGGING__MIN_LENGTH_MASKED_SECRET
remote_base_log_folder¶
添加于版本 2.0.0。
远程日志记录的存储桶 URL。S3 存储桶应以 s3:// 开头。Cloudwatch 日志组应以 cloudwatch:// 开头。GCS 存储桶应以 gs:// 开头。WASB 存储桶应以 wasb 开头,以帮助 Airflow 选择正确的处理程序。Stackdriver 日志应以 stackdriver:// 开头。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER
remote_log_conn_id¶
添加于版本 2.0.0。
用户必须提供一个 Airflow 连接 ID,该 ID 提供对存储位置的访问。根据您的远程日志记录服务,此 ID 可能仅用于读取日志,而不是写入日志。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__REMOTE_LOG_CONN_ID
remote_logging¶
添加于版本 2.0.0。
Airflow 可以将日志远程存储在 AWS S3、Google Cloud Storage 或 Elastic Search 中。如果您想启用远程日志记录,请将此设置为 True
。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__LOGGING__REMOTE_LOGGING
remote_task_handler_kwargs¶
添加于版本 2.6.0。
remote_task_handler_kwargs 参数被加载到一个字典中,并传递给远程任务处理程序的 __init__
方法,它会覆盖 Airflow 配置提供的值。例如,如果您设置 delete_local_logs=False
并提供 {"delete_local_copy": true}
,则本地日志文件在上传到远程位置后将被删除。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__REMOTE_TASK_HANDLER_KWARGS
AIRFLOW__LOGGING__REMOTE_TASK_HANDLER_KWARGS_CMD
AIRFLOW__LOGGING__REMOTE_TASK_HANDLER_KWARGS_SECRET
- 示例:
{"delete_local_copy": true}
secret_mask_adapter¶
添加于版本 2.6.0。
一个导入路径,指向一个函数,该函数为使用 airflow.sdk.execution_time.secrets_masker.mask_secret
添加的每个秘密添加适配项,以便在日志消息中进行屏蔽。期望给定的函数需要一个参数:要适配的秘密。它可以返回秘密的单个适配项或一个适配项的可迭代对象,每个适配项都将被屏蔽为秘密。原始秘密以及返回的任何适配项都将被屏蔽。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__SECRET_MASK_ADAPTER
- 示例:
urllib.parse.quote
simple_log_format¶
添加于版本 2.0.0。
定义简单日志记录配置的日志消息格式。
- 类型:
字符串
- 默认值:
%%(asctime)s %%(levelname)s - %%(message)s
- 环境变量:
AIRFLOW__LOGGING__SIMPLE_LOG_FORMAT
task_log_prefix_template¶
添加于版本 2.0.0。
指定如下所示带有流处理程序 TaskHandlerWithCustomFormatter
的前缀模式。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__LOGGING__TASK_LOG_PREFIX_TEMPLATE
- 示例:
{ti.dag_id}-{ti.task_id}-{logical_date}-{ti.try_number}
task_log_reader¶
添加于版本 2.0.0。
读取任务实例日志的处理程序名称。默认为使用 task
处理程序。
- 类型:
字符串
- 默认值:
task
- 环境变量:
AIRFLOW__LOGGING__TASK_LOG_READER
trigger_log_server_port¶
添加于版本 2.6.0。
用于从 triggerer 提供日志的端口。更多信息请参阅 [logging] worker_log_server_port
的描述。
- 类型:
字符串
- 默认值:
8794
- 环境变量:
AIRFLOW__LOGGING__TRIGGER_LOG_SERVER_PORT
worker_log_server_port¶
添加于版本 2.2.0。
启动 Airflow worker 时,Airflow 会启动一个微型 web 服务器子进程,用于向 Airflow 主 web 服务器提供 worker 的本地日志文件,然后主 web 服务器构建页面并将其发送给用户。此项定义了日志服务的端口。它需要是未被使用的,并且从主 web 服务器到 worker 可见可连接。
- 类型:
字符串
- 默认值:
8793
- 环境变量:
AIRFLOW__LOGGING__WORKER_LOG_SERVER_PORT
[metrics]¶
StatsD 集成设置。
metrics_allow_list¶
添加于版本 2.6.0。
配置一个允许列表(逗号分隔的正则表达式模式),以仅发送特定指标。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__METRICS__METRICS_ALLOW_LIST
- 示例:
"scheduler,executor,dagrun,pool,triggerer,celery" or "^scheduler,^executor,heartbeat|timeout"
metrics_block_list¶
添加于版本 2.6.0。
配置一个阻止列表(逗号分隔的正则表达式模式),以阻止发送特定指标。如果同时配置了 [metrics] metrics_allow_list
和 [metrics] metrics_block_list
,则 [metrics] metrics_block_list
将被忽略。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__METRICS__METRICS_BLOCK_LIST
- 示例:
"scheduler,executor,dagrun,pool,triggerer,celery" or "^scheduler,^executor,heartbeat|timeout"
otel_debugging_on¶
添加于版本 2.7.0。
如果为 True
,所有指标也将发送到控制台。默认为 False
。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__OTEL_DEBUGGING_ON
otel_host¶
添加于版本 2.6.0。
指定 Airflow 发送指标和追踪到的 OpenTelemetry Collector 的主机名或 IP 地址。
- 类型:
字符串
- 默认值:
localhost
- 环境变量:
AIRFLOW__METRICS__OTEL_HOST
otel_interval_milliseconds¶
添加于版本 2.6.0。
定义 Airflow 向配置的 OpenTelemetry Collector 发送批量指标和追踪的间隔(以毫秒为单位)。
- 类型:
整数
- 默认值:
60000
- 环境变量:
AIRFLOW__METRICS__OTEL_INTERVAL_MILLISECONDS
otel_on¶
添加于版本 2.6.0。
启用向 OpenTelemetry 发送指标。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__OTEL_ON
otel_port¶
添加于版本 2.6.0。
指定 OpenTelemetry Collector 正在监听的端口。
- 类型:
字符串
- 默认值:
8889
- 环境变量:
AIRFLOW__METRICS__OTEL_PORT
otel_prefix¶
添加于版本 2.6.0。
Airflow 指标的前缀。
- 类型:
字符串
- 默认值:
airflow
- 环境变量:
AIRFLOW__METRICS__OTEL_PREFIX
otel_service¶
在版本 2.10.3 中添加。
追踪的默认服务名称。
- 类型:
字符串
- 默认值:
Airflow
- 环境变量:
AIRFLOW__METRICS__OTEL_SERVICE
otel_ssl_active¶
添加于版本 2.7.0。
如果为 True
,将启用 SSL。默认为 False
。要与 OpenTelemetry collector 建立 HTTPS 连接,您需要在 OpenTelemetry collector 的 config.yml
文件中配置 SSL 证书和密钥。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__OTEL_SSL_ACTIVE
stat_name_handler¶
添加于版本 2.0.0。
一个用于验证 StatsD stat 名称、必要时对其应用更改并返回转换后的 stat 名称的函数。
该函数应具有以下签名
def func_name(stat_name: str) -> str: ...
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__METRICS__STAT_NAME_HANDLER
statsd_custom_client_path¶
添加于版本 2.0.0。
如果您想使用自己的自定义 StatsD 客户端,请在下方设置相关的模块路径。注意:模块路径必须存在于您的 PYTHONPATH <https://docs.pythonlang.cn/3/using/cmdline.html#envvar-PYTHONPATH> 中,Airflow 才能找到它。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__METRICS__STATSD_CUSTOM_CLIENT_PATH
statsd_datadog_enabled¶
添加于版本 2.0.0。
启用 datadog 集成以发送 airflow 指标。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__STATSD_DATADOG_ENABLED
statsd_host¶
添加于版本 2.0.0。
指定 StatsD 守护进程(或服务器)运行的主机地址。
- 类型:
字符串
- 默认值:
localhost
- 环境变量:
AIRFLOW__METRICS__STATSD_HOST
statsd_influxdb_enabled¶
添加于版本 2.6.0。
启用使用 StatsD-Influxdb 标签约定发送 Airflow 指标。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__STATSD_INFLUXDB_ENABLED
statsd_ipv6¶
添加于版本 3.0.0。
允许将 statsd 主机解析为 IPv6 地址。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__STATSD_IPV6
statsd_on¶
添加于版本 2.0.0。
启用向 StatsD 发送指标。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__METRICS__STATSD_ON
statsd_port¶
添加于版本 2.0.0。
指定 StatsD 守护进程(或服务器)正在监听的端口。
- 类型:
字符串
- 默认值:
8125
- 环境变量:
AIRFLOW__METRICS__STATSD_PORT
statsd_prefix¶
添加于版本 2.0.0。
定义从 Airflow 发送到 StatsD 的所有指标的命名空间。
- 类型:
字符串
- 默认值:
airflow
- 环境变量:
AIRFLOW__METRICS__STATSD_PREFIX
[operators]¶
default_cpus¶
指示在操作符配置中未指定特定 CPU 请求时,分配给每个操作符的默认 CPU 单位数量。
- 类型:
字符串
- 默认值:
1
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_CPUS
default_deferrable¶
添加于版本 2.7.0。
操作符和传感器中属性“deferrable”的默认值。
- 类型:
布尔型
- 默认值:
false
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_DEFERRABLE
default_disk¶
指示在操作符配置中未指定特定磁盘请求时,分配给每个操作符的默认磁盘存储空间。
- 类型:
字符串
- 默认值:
512
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_DISK
default_gpus¶
指示在操作符配置中未指定特定 GPU 请求时,分配给每个操作符的默认 GPU 数量。
- 类型:
字符串
- 默认值:
0
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_GPUS
default_owner¶
分配给每个新操作符的默认所有者,除非显式提供或通过 default_args
传递。
- 类型:
字符串
- 默认值:
airflow
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_OWNER
default_queue¶
添加于版本 2.1.0。
任务分配到以及 worker 监听的默认队列。
- 类型:
字符串
- 默认值:
default
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_QUEUE
default_ram¶
指示在操作符配置中未指定特定 RAM 请求时,分配给每个操作符的默认 RAM 数量。
- 类型:
字符串
- 默认值:
512
- 环境变量:
AIRFLOW__OPERATORS__DEFAULT_RAM
[scheduler]¶
allowed_run_id_pattern¶
在版本 2.6.3 中添加。
用于在触发 DAG 时验证用户输入 run_id 参数的有效性的 run_id 模式。此模式不能更改调度程序为计划运行的 DAG 或未更改 run_id 参数而触发的 DAG 生成 run_id 的模式。
- 类型:
字符串
- 默认值:
^[A-Za-z0-9_.~:+-]+$
- 环境变量:
AIRFLOW__SCHEDULER__ALLOWED_RUN_ID_PATTERN
catchup_by_default¶
通过将此设置为 True
来开启调度程序追赶 (catchup)。默认行为不变,命令行回填 (Backfills) 仍然有效,但如果此项为 False
,调度程序将不执行调度程序追赶,不过可以在 DAG 定义中(通过 catchup 参数)按每个 DAG 进行设置。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__SCHEDULER__CATCHUP_BY_DEFAULT
create_cron_data_intervals¶
新增于 2.9.0 版本。
当为 DAG 的 schedule
参数提供 cron 字符串时,是否为 cron 计划创建跨越一个间隔的 DAG 运行,或仅创建一个时间点的 DAG 运行。
True
:使用 CronDataIntervalTimetable,这适用于具有明确数据间隔的 DAG。您可以获得从上一个间隔结束到计划时间点的连续间隔。False
:使用 CronTriggerTimetable,这更接近 cron 本身的行为。
值得注意的是,对于 CronTriggerTimetable,逻辑日期与 DAG 运行尝试计划的时间相同,而对于 CronDataIntervalTimetable,逻辑日期是数据间隔的开始,但 DAG 运行将在数据间隔结束时尝试计划。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__SCHEDULER__CREATE_CRON_DATA_INTERVALS
create_delta_data_intervals¶
在版本 2.11.0 中添加。
当为 DAG 的 schedule
参数提供 timedelta 或 relativedelta 时,是否创建跨越间隔的 DAG 运行,或仅创建单个时间点的 DAG 运行。
True
:使用 DeltaDataIntervalTimetable,这适用于具有明确数据间隔的 DAG。您可以获得从上一个间隔结束到计划时间点的连续间隔。False
:使用 DeltaTriggerTimetable,这适用于仅希望说明例如“每天运行一次”且不关心数据间隔的 DAG。
值得注意的是,对于 DeltaTriggerTimetable,逻辑日期与 DAG 运行尝试计划的时间相同,而对于 DeltaDataIntervalTimetable,逻辑日期是数据间隔的开始,但 DAG 运行将在数据间隔结束时尝试计划。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__SCHEDULER__CREATE_DELTA_DATA_INTERVALS
dag_stale_not_seen_duration¶
添加于版本 2.4.0。
经过此秒数后,未被 Dag 处理器更新的 DAG 将被停用。
- 类型:
整数
- 默认值:
600
- 环境变量:
AIRFLOW__SCHEDULER__DAG_STALE_NOT_SEEN_DURATION
enable_health_check¶
添加于版本 2.4.0。
当您启动调度程序时,如果此项设置为 True
,Airflow 会启动一个微型 web 服务器子进程以提供健康检查。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__SCHEDULER__ENABLE_HEALTH_CHECK
enable_tracemalloc¶
添加于版本 3.0.0。
是否在调度程序中启用内存分配追踪。如果启用,Airflow 将开始追踪内存分配,并在接收到信号 SIGUSR1 时以错误级别记录前 10 个内存使用情况。这是一项开销很大的操作,通常不应使用,除非用于调试目的。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__SCHEDULER__ENABLE_TRACEMALLOC
ignore_first_depends_on_past_by_default¶
添加于版本 2.3.0。
将此设置为 True
将使任务的第一个任务实例忽略 depends_on_past 设置。当数据库中没有早于它的 logical_date 的任务实例时,该任务实例将被视为任务的第一个任务实例,即对于新添加的任务,将无需手动标记成功即可进行调度。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__SCHEDULER__IGNORE_FIRST_DEPENDS_ON_PAST_BY_DEFAULT
job_heartbeat_sec¶
任务实例监听外部终止信号(当您从 CLI 或 UI 清除任务时),此项定义了它们监听的频率(以秒为单位)。
- 类型:
浮点数
- 默认值:
5
- 环境变量:
AIRFLOW__SCHEDULER__JOB_HEARTBEAT_SEC
max_dagruns_per_loop_to_schedule¶
添加于版本 2.0.0。
调度程序在调度和排队任务时应检查(并锁定)多少个 DagRun。
另请参阅
- 类型:
整数
- 默认值:
20
- 环境变量:
AIRFLOW__SCHEDULER__MAX_DAGRUNS_PER_LOOP_TO_SCHEDULE
max_dagruns_to_create_per_loop¶
添加于版本 2.0.0。
每个调度程序循环中为多少个 DAG 创建 DagRun 的最大数量。
另请参阅
- 类型:
整数
- 默认值:
10
- 环境变量:
AIRFLOW__SCHEDULER__MAX_DAGRUNS_TO_CREATE_PER_LOOP
max_tis_per_query¶
此项确定在每个调度程序循环中评估多少个任务实例进行调度。将其设置为 0 以使用 [core] parallelism
的值。
- 类型:
整数
- 默认值:
16
- 环境变量:
AIRFLOW__SCHEDULER__MAX_TIS_PER_QUERY
num_runs¶
添加于版本 1.10.6。
尝试调度每个 DAG 文件的次数 -1 表示无限次数
- 类型:
整数
- 默认值:
-1
- 环境变量:
AIRFLOW__SCHEDULER__NUM_RUNS
orphaned_tasks_check_interval¶
添加于版本 2.0.0。
调度程序应多久(以秒为单位)检查一次孤立任务和 SchedulerJobs。
- 类型:
浮点数
- 默认值:
300.0
- 环境变量:
AIRFLOW__SCHEDULER__ORPHANED_TASKS_CHECK_INTERVAL
parsing_cleanup_interval¶
添加于版本 2.5.0。
检查陈旧 DAG(预期文件不再存在、应被停用的 DAG)以及不再被引用并应被标记为孤立的资产的频率(以秒为单位)。
- 类型:
整数
- 默认值:
60
- 环境变量:
AIRFLOW__SCHEDULER__PARSING_CLEANUP_INTERVAL
parsing_pre_import_modules¶
添加于版本 2.6.0。
调度器读取 dag 文件以提取将要使用的 airflow 模块,并提前导入它们,以避免在每个解析过程中重复此操作。如果某个 airflow 模块每次都需要重新导入,可以将此标志设置为 False
来禁用此行为(代价是增加 DAG 解析时间)。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__SCHEDULER__PARSING_PRE_IMPORT_MODULES
pool_metrics_interval¶
添加于版本 2.0.0。
将池使用情况统计信息发送到 StatsD(如果 statsd_on 已启用)的频率(以秒为单位)
- 类型:
浮点数
- 默认值:
5.0
- 环境变量:
AIRFLOW__SCHEDULER__POOL_METRICS_INTERVAL
running_metrics_interval¶
添加于版本 3.0.0。
将正在运行的任务实例统计信息发送到 StatsD(如果 statsd_on 已启用)的频率(以秒为单位)
- 类型:
浮点数
- 默认值:
30.0
- 环境变量:
AIRFLOW__SCHEDULER__RUNNING_METRICS_INTERVAL
scheduler_health_check_server_host¶
添加到版本 2.8.0。
当您启动调度器时,airflow 会启动一个微小的 Web 服务器子进程,在此主机上提供健康检查服务。
- 类型:
字符串
- 默认值:
0.0.0.0
- 环境变量:
AIRFLOW__SCHEDULER__SCHEDULER_HEALTH_CHECK_SERVER_HOST
scheduler_health_check_server_port¶
添加于版本 2.4.0。
当您启动调度器时,airflow 会启动一个微小的 Web 服务器子进程,在此端口上提供健康检查服务。
- 类型:
整数
- 默认值:
8974
- 环境变量:
AIRFLOW__SCHEDULER__SCHEDULER_HEALTH_CHECK_SERVER_PORT
scheduler_health_check_threshold¶
添加到版本 1.10.2。
如果上次调度器心跳发生在 [scheduler] scheduler_health_check_threshold
(以秒为单位)之前,则认为调度器不健康。这用于 /health 端点中的健康检查以及 SchedulerJob 的 airflow jobs check
CLI 中。
- 类型:
整数
- 默认值:
30
- 环境变量:
AIRFLOW__SCHEDULER__SCHEDULER_HEALTH_CHECK_THRESHOLD
scheduler_heartbeat_sec¶
调度器不断尝试触发新任务(有关更多信息,请参阅文档中的调度器部分)。这定义了调度器应多久运行一次(以秒为单位)。
- 类型:
整数
- 默认值:
5
- 环境变量:
AIRFLOW__SCHEDULER__SCHEDULER_HEARTBEAT_SEC
scheduler_idle_sleep_time¶
添加于版本 2.2.0。
控制调度器在循环之间休眠多长时间,但前提是循环中没有可做的事情。也就是说,如果它调度了某个任务,那么它将立即开始下一个循环迭代。
- 类型:
浮点数
- 默认值:
1
- 环境变量:
AIRFLOW__SCHEDULER__SCHEDULER_IDLE_SLEEP_TIME
task_instance_heartbeat_sec¶
添加于版本 2.7.0。
LocalTaskJob 向调度器发送心跳信号以通知其仍处于活动状态的频率(以秒为单位)。如果此值设置为 0,则心跳间隔将默认为 [scheduler] task_instance_heartbeat_timeout
的值。
- 类型:
整数
- 默认值:
0
- 环境变量:
AIRFLOW__SCHEDULER__TASK_INSTANCE_HEARTBEAT_SEC
task_instance_heartbeat_timeout¶
本地任务作业会定期向数据库发送心跳。如果作业在此秒数内未发送心跳,调度器将把关联的任务实例标记为失败并重新调度该任务。
- 类型:
整数
- 默认值:
300
- 环境变量:
AIRFLOW__SCHEDULER__TASK_INSTANCE_HEARTBEAT_TIMEOUT
task_instance_heartbeat_timeout_detection_interval¶
添加于版本 2.3.0。
调度器应多久检查一次心跳超时的任务实例(以秒为单位)。
- 类型:
浮点数
- 默认值:
10.0
- 环境变量:
AIRFLOW__SCHEDULER__TASK_INSTANCE_HEARTBEAT_TIMEOUT_DETECTION_INTERVAL
task_queued_timeout¶
添加于版本 2.6.0。
任务在被重试或设置为失败之前可以处于排队状态的时间量。
- 类型:
浮点数
- 默认值:
600.0
- 环境变量:
AIRFLOW__SCHEDULER__TASK_QUEUED_TIMEOUT
task_queued_timeout_check_interval¶
添加于版本 2.6.0。
多久检查一次处于排队状态时间长于 [scheduler] task_queued_timeout
的任务。
- 类型:
浮点数
- 默认值:
120.0
- 环境变量:
AIRFLOW__SCHEDULER__TASK_QUEUED_TIMEOUT_CHECK_INTERVAL
trigger_timeout_check_interval¶
添加于版本 2.2.0。
多久检查一次尚未运行的过期触发器请求。
- 类型:
浮点数
- 默认值:
15
- 环境变量:
AIRFLOW__SCHEDULER__TRIGGER_TIMEOUT_CHECK_INTERVAL
use_job_schedule¶
添加到版本 1.10.2。
将此设置为 False
可关闭调度器对 cron 间隔的使用。通过 Web UI 手动提交或使用 trigger_dag 提交的 DAG 仍将运行。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__SCHEDULER__USE_JOB_SCHEDULE
use_row_level_locking¶
添加于版本 2.0.0。
调度器是否应在相关查询中发出 SELECT ... FOR UPDATE
。如果此设置为 False
,则不应同时运行多个调度器实例。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__SCHEDULER__USE_ROW_LEVEL_LOCKING
dag_dir_list_interval (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 dag_processor.refresh_interval
[secrets]¶
backend¶
新增于 1.10.10 版本。
要启用的 secrets 后端的完整类名(在搜索路径中将优先于环境变量和元数据库)
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__SECRETS__BACKEND
- 示例:
airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend
backend_kwargs¶
新增于 1.10.10 版本。
backend_kwargs 参数被加载到一个字典中,并传递给 secrets 后端类的 __init__
方法。请参阅您正在使用的 secrets 后端的文档。预期格式为 JSON。
AWS Systems Manager ParameterStore 示例:{"connections_prefix": "/airflow/connections", "profile_name": "default"}
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__SECRETS__BACKEND_KWARGS
AIRFLOW__SECRETS__BACKEND_KWARGS_CMD
AIRFLOW__SECRETS__BACKEND_KWARGS_SECRET
cache_ttl_seconds¶
添加于版本 2.7.0。
注意
这是一项 实验性功能。
启用缓存后,这是我们认为缓存中的条目有效的时间长度。如果条目旧于此秒数,则会刷新。这意味着在启用缓存时,这是您需要等待变量更改生效的最长时间。
- 类型:
整数
- 默认值:
900
- 环境变量:
AIRFLOW__SECRETS__CACHE_TTL_SECONDS
use_cache¶
添加于版本 2.7.0。
注意
这是一项 实验性功能。
仅在解析 DAG 时启用变量的本地缓存。如果在顶级代码中使用变量,使用此选项可以加快 dag 解析速度,但代价是更改传播时间更长。请注意,此缓存仅涉及 DAG 解析步骤。在运行 DAG 任务时不会进行缓存。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__SECRETS__USE_CACHE
[sensors]¶
default_timeout¶
添加于版本 2.3.0。
传感器默认超时,默认为 7 天(7 * 24 * 60 * 60)。
- 类型:
浮点数
- 默认值:
604800
- 环境变量:
AIRFLOW__SENSORS__DEFAULT_TIMEOUT
[sentry]¶
Sentry 集成。您可以在此处根据 Python 平台提供额外的配置选项。有关更多详细信息,请参阅 Python / 配置 / 基本选项。不支持的选项包括:integrations
、in_app_include
、in_app_exclude
、ignore_errors
、before_breadcrumb
、transport
。
before_send¶
添加于版本 2.2.0。
用于配置 sentry SDK 的 before_send 函数的点分路径。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__SENTRY__BEFORE_SEND
sentry_dsn¶
添加于版本 1.10.6。
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__SENTRY__SENTRY_DSN
AIRFLOW__SENTRY__SENTRY_DSN_CMD
AIRFLOW__SENTRY__SENTRY_DSN_SECRET
sentry_on¶
添加于版本 2.0.0。
启用向 Sentry 报告错误
- 类型:
字符串
- 默认值:
false
- 环境变量:
AIRFLOW__SENTRY__SENTRY_ON
[smtp]¶
如果您希望 airflow 在重试和失败时发送电子邮件,并且您希望使用 airflow.utils.email.send_email_smtp 函数,则必须在此处配置一个 smtp 服务器。
smtp_host¶
指定 Airflow 通过 SMTP 发送电子邮件通知时使用的主机服务器地址。
- 类型:
字符串
- 默认值:
localhost
- 环境变量:
AIRFLOW__SMTP__SMTP_HOST
smtp_mail_from¶
指定 Airflow 发送电子邮件通知时使用的默认 发件人 电子邮件地址。
- 类型:
字符串
- 默认值:
airflow@example.com
- 环境变量:
AIRFLOW__SMTP__SMTP_MAIL_FROM
smtp_port¶
定义 Airflow 连接到 SMTP 服务器发送电子邮件通知时使用的端口号。
- 类型:
字符串
- 默认值:
25
- 环境变量:
AIRFLOW__SMTP__SMTP_PORT
smtp_retry_limit¶
添加于版本 2.0.0。
定义 Airflow 尝试连接到 SMTP 服务器的最大次数。
- 类型:
整数
- 默认值:
5
- 环境变量:
AIRFLOW__SMTP__SMTP_RETRY_LIMIT
smtp_ssl¶
确定与 SMTP 服务器通信时是否使用 SSL 连接。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__SMTP__SMTP_SSL
smtp_starttls¶
确定连接到 SMTP 服务器时是否使用 STARTTLS 命令。
- 类型:
字符串
- 默认值:
True
- 环境变量:
AIRFLOW__SMTP__SMTP_STARTTLS
smtp_timeout¶
添加于版本 2.0.0。
确定 Apache Airflow 系统等待与 SMTP 服务器建立连接的最大时间(以秒为单位)。
- 类型:
整数
- 默认值:
30
- 环境变量:
AIRFLOW__SMTP__SMTP_TIMEOUT
[traces]¶
分布式跟踪集成设置。
otel_debugging_on¶
新增于 2.10.0 版本。
如果为 True,所有跟踪也会发送到控制台。默认为 False。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__TRACES__OTEL_DEBUGGING_ON
otel_host¶
新增于 2.10.0 版本。
指定 Airflow 发送跟踪的 OpenTelemetry Collector 的主机名或 IP 地址。
- 类型:
字符串
- 默认值:
localhost
- 环境变量:
AIRFLOW__TRACES__OTEL_HOST
otel_on¶
新增于 2.10.0 版本。
启用向 OpenTelemetry 发送跟踪。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__TRACES__OTEL_ON
otel_port¶
新增于 2.10.0 版本。
指定 OpenTelemetry Collector 正在监听的端口。
- 类型:
字符串
- 默认值:
8889
- 环境变量:
AIRFLOW__TRACES__OTEL_PORT
otel_service¶
新增于 2.10.0 版本。
追踪的默认服务名称。
- 类型:
字符串
- 默认值:
Airflow
- 环境变量:
AIRFLOW__TRACES__OTEL_SERVICE
otel_ssl_active¶
新增于 2.10.0 版本。
如果为 True,将启用 SSL。默认为 False。要与 OpenTelemetry collector 建立 HTTPS 连接,您需要在 OpenTelemetry collector 的 config.yml 文件中配置 SSL 证书和密钥。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__TRACES__OTEL_SSL_ACTIVE
[triggerer]¶
capacity¶
添加于版本 2.2.0。
单个 Triggerer 默认同时运行的触发器数量。
- 类型:
字符串
- 默认值:
1000
- 环境变量:
AIRFLOW__TRIGGERER__CAPACITY
job_heartbeat_sec¶
在版本 2.6.3 中添加。
Triggerer 作业发送心跳信号的频率,以确保其未被终止。
- 类型:
浮点数
- 默认值:
5
- 环境变量:
AIRFLOW__TRIGGERER__JOB_HEARTBEAT_SEC
triggerer_health_check_threshold¶
添加于版本 2.7.0。
如果上次 Triggerer 心跳发生在 [triggerer] triggerer_health_check_threshold
(以秒为单位)之前,则认为 Triggerer 不健康。这用于 /health 端点中的健康检查以及 TriggererJob 的 airflow jobs check
CLI 中。
- 类型:
浮点数
- 默认值:
30
- 环境变量:
AIRFLOW__TRIGGERER__TRIGGERER_HEALTH_CHECK_THRESHOLD
default_capacity (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 triggerer.capacity
[webserver]¶
access_denied_message¶
添加于版本 2.7.0。
用户尝试执行超出其授权权限的操作时显示的消息。
- 类型:
字符串
- 默认值:
访问被拒绝
- 环境变量:
AIRFLOW__WEBSERVER__ACCESS_DENIED_MESSAGE
audit_view_excluded_events¶
添加于版本 2.3.0。
逗号分隔的视图事件字符串,用于从 dag 审计视图中排除。此处传递的事件将被排除,所有其他事件都将被添加。数据库中的审计日志不受此参数影响。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__WEBSERVER__AUDIT_VIEW_EXCLUDED_EVENTS
- 示例:
cli_task_run,running,success
audit_view_included_events¶
添加于版本 2.3.0。
逗号分隔的视图事件字符串,用于包含在 dag 审计视图中。如果传递此参数,只有这些事件将填充 dag 审计视图。数据库中的审计日志不受此参数影响。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__WEBSERVER__AUDIT_VIEW_INCLUDED_EVENTS
- 示例:
dagrun_cleared,failed
auto_refresh_interval¶
添加于版本 2.2.0。
在启用自动刷新时,DAG 数据在图形或网格视图中自动刷新的频率(以秒为单位)。
- 类型:
整数
- 默认值:
3
- 环境变量:
AIRFLOW__WEBSERVER__AUTO_REFRESH_INTERVAL
default_wrap¶
添加到版本 1.10.4。
DAG 代码和 TI 日志视图上的换行切换的默认设置。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__WEBSERVER__DEFAULT_WRAP
enable_swagger_ui¶
添加于版本 2.6.0。
是否在 Web 服务器中运行 SwaggerUI 的布尔值。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__WEBSERVER__ENABLE_SWAGGER_UI
expose_config¶
在 Web 服务器中公开配置文件。设置为 non-sensitive-only
以显示除具有安全隐患的值之外的所有值。True
显示所有值。False
完全隐藏配置。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__WEBSERVER__EXPOSE_CONFIG
expose_hostname¶
添加到版本 1.10.8。
在 Web 服务器中公开主机名
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__WEBSERVER__EXPOSE_HOSTNAME
grid_view_sorting_order¶
添加于版本 2.7.0。
网格视图中的排序顺序。有效值为:topological
,hierarchical_alphabetical
- 类型:
字符串
- 默认值:
topological
- 环境变量:
AIRFLOW__WEBSERVER__GRID_VIEW_SORTING_ORDER
hide_paused_dags_by_default¶
默认情况下,Web 服务器显示暂停的 DAG。将其翻转以默认隐藏暂停的 DAG。
- 类型:
字符串
- 默认值:
False
- 环境变量:
AIRFLOW__WEBSERVER__HIDE_PAUSED_DAGS_BY_DEFAULT
instance_name¶
添加于版本 2.1.0。
为 DAG 概述页面设置自定义页面标题,并为所有页面设置站点标题。
- 类型:
字符串
- 默认值:
None
- 环境变量:
AIRFLOW__WEBSERVER__INSTANCE_NAME
instance_name_has_markup¶
添加于版本 2.3.0。
DAG 概述页面的自定义页面标题是否包含任何标记语言。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__WEBSERVER__INSTANCE_NAME_HAS_MARKUP
log_fetch_timeout_sec¶
Web 服务器从其他工作机器获取日志时等待初始握手的时间(以秒为单位)。
- 类型:
字符串
- 默认值:
5
- 环境变量:
AIRFLOW__WEBSERVER__LOG_FETCH_TIMEOUT_SEC
page_size¶
UI 中所有列表视图的一致页面大小。
- 类型:
字符串
- 默认值:
50
- 环境变量:
AIRFLOW__WEBSERVER__PAGE_SIZE
require_confirmation_dag_change¶
新增于 2.9.0 版本。
在 Web UI 中更改 DAG 时需要确认。这是为了防止在生产等敏感环境中意外更改正在运行的 DAG。当设置为 True
时,当用户尝试暂停/取消暂停、触发 DAG 时将显示确认对话框。
- 类型:
布尔型
- 默认值:
False
- 环境变量:
AIRFLOW__WEBSERVER__REQUIRE_CONFIRMATION_DAG_CHANGE
secret_key¶
用于运行 API 服务器的密钥。它应该尽可能随机。但是,当运行多个 Web 服务器实例时,请确保所有实例使用相同的 secret_key
,否则其中一个实例将因“CSRF session token is missing”而出错。Web 服务器密钥也用于授权请求 Celery workers 获取日志。使用密钥生成的令牌具有较短的有效期 - 确保您运行 airflow 组件的所有机器上的时间都已同步(例如使用 ntpd),否则在访问日志时可能会出现“forbidden”错误。
- 类型:
字符串
- 默认值:
{SECRET_KEY}
- 环境变量:
AIRFLOW__WEBSERVER__SECRET_KEY
AIRFLOW__WEBSERVER__SECRET_KEY_CMD
AIRFLOW__WEBSERVER__SECRET_KEY_SECRET
warn_deployment_exposure¶
添加于版本 2.3.0。
是否显示公开可见部署警告的布尔值。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__WEBSERVER__WARN_DEPLOYMENT_EXPOSURE
x_frame_enabled¶
添加到版本 1.10.8。
允许 UI 在框架中渲染。
- 类型:
布尔型
- 默认值:
True
- 环境变量:
AIRFLOW__WEBSERVER__X_FRAME_ENABLED
access_logfile (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.access_logfile
web_server_host (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.host
web_server_port (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.port
web_server_ssl_cert (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.ssl_cert
web_server_ssl_key (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.ssl_key
web_server_worker_timeout (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.worker_timeout
workers (已弃用)¶
自版本 3.0 起已弃用:此选项已移至 api.workers
[workers]¶
与运行 Airflow 任务的工作节点相关的配置。
execution_api_retries¶
添加于版本 3.0.0。
对 execution API 服务器的最大重试次数。
- 类型:
整数
- 默认值:
5
- 环境变量:
AIRFLOW__WORKERS__EXECUTION_API_RETRIES
execution_api_retry_wait_max¶
添加于版本 3.0.0。
在重试失败的 API 请求之前等待的最大时间量(以秒为单位)。
- 类型:
浮点数
- 默认值:
90.0
- 环境变量:
AIRFLOW__WORKERS__EXECUTION_API_RETRY_WAIT_MAX
execution_api_retry_wait_min¶
添加于版本 3.0.0。
在重试失败的 API 请求之前等待的最小时间量(以秒为单位)。
- 类型:
浮点数
- 默认值:
1.0
- 环境变量:
AIRFLOW__WORKERS__EXECUTION_API_RETRY_WAIT_MIN
max_failed_heartbeats¶
添加于版本 3.0.0。
终止任务实例进程之前连续失败心跳的最大次数。
- 类型:
整数
- 默认值:
3
- 环境变量:
AIRFLOW__WORKERS__MAX_FAILED_HEARTBEATS
min_heartbeat_interval¶
添加于版本 3.0.0。
工作节点与 API 服务器检查任务实例心跳状态以确认其仍然处于活动状态的最小间隔(以秒为单位)。
- 类型:
整数
- 默认值:
5
- 环境变量:
AIRFLOW__WORKERS__MIN_HEARTBEAT_INTERVAL
secrets_backend¶
添加于版本 3.0.0。
为工作节点启用的 secrets 后端的完整类名(将优先于环境变量后端)
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__WORKERS__SECRETS_BACKEND
- 示例:
airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend
secrets_backend_kwargs¶
添加于版本 3.0.0。
secrets_backend_kwargs 参数被加载到一个字典中,并传递给 secrets 后端类的 __init__
方法。请参阅您正在使用的 secrets 后端的文档。预期格式为 JSON。
AWS Systems Manager ParameterStore 示例:{"connections_prefix": "/airflow/connections", "profile_name": "default"}
- 类型:
字符串
- 默认值:
''
- 环境变量:
AIRFLOW__WORKERS__SECRETS_BACKEND_KWARGS
AIRFLOW__WORKERS__SECRETS_BACKEND_KWARGS_CMD
AIRFLOW__WORKERS__SECRETS_BACKEND_KWARGS_SECRET