气流变量屏蔽值 "airflow"

Airflow variable masking the value "airflow"

我正在探索 airflow 变量并在 Airflow 中创建了一个变量,其值中包含单词 'airflow':

var_source_path = /opt/airflow/

在我的任务中使用此变量时,airflow 一词被星号 (***) 掩盖,如下所示:

任务:

t1 = BashOperator(task_id = 'echo_source_path',
                    bash_command = 'echo {{ var.value.var_source_path }}',
                    dag = dag
                    )

日志:

[2022-01-24 12:56:45,937] {subprocess.py:63} INFO - Running command: ['bash', '-c', 'echo /opt/***/']
[2022-01-24 12:56:45,948] {subprocess.py:75} INFO - Output:
[2022-01-24 12:56:45,982] {subprocess.py:79} INFO - /opt/***/
[2022-01-24 12:56:45,984] {subprocess.py:83} INFO - Command exited with return code 0

这种行为背后的原因是什么。有什么配置可以控制这个吗

P.S:我已将 Airflow 元数据 user/password 设置为 airflow:

    environment:
      MYSQL_ROOT_USER: airflow
      MYSQL_ROOT_PASSWORD: airflow
      MYSQL_USER: airflow
      MYSQL_PASSWORD: airflow
      MYSQL_DATABASE: airflow

这是此行为的根本原因吗?

A​​irflow 2.1+ 默认屏蔽敏感密码。

这意味着(确实)您在某处使用 airflow 作为密码(您不应该这样做)

有关其工作原理以及如何禁用它的说明,请参见此处:

https://airflow.apache.org/docs/apache-airflow/stable/security/secrets/mask-sensitive-values.html