【发布时间】:2021-09-23 00:26:15
【问题描述】:
我创建了一个变量(来自 Airflow UI):
Key: env_variables
Value: {'xx': 'yy`}
并尝试在 bash 运算符中使用 var.json.env_variables.xx 进行访问。但是“xx”的值是动态的,即
我从 REST API 传递并使用 dag_run.conf['param'] 访问它(dag_run.conf['param'] 应该返回 xx)。最终我想运行var.json.env_variables.xx。如何在 Airflow 中实现内部 bash 运算符?
我正在尝试运行以下代码,但它显示 Jinja 语法错误。
task = BashOperator(
bash_command="export KUBECONFIG=$KUBECONFIG:{{var.json.env_variables.{{dag_run.conf['param']}} }}
我想要的:
它应该获取var.json.env_variables.xx 的值。我也尝试过使用 params 但没有运气,params.path 正在返回 None。
task = BashOperator(
bash_command="export KUBECONFIG=$KUBECONFIG:{{params.path}},
params: {
"path":env_variables.get('{{dag_run.conf["param"]}}')
}
非常感谢任何形式的帮助。
【问题讨论】:
标签: bash environment-variables jinja2 airflow