例如使用 BashOperator:
bash_task = BashOperator(
task_id="bash_task",
bash_command="echo \"here is the message: '$message'\"",
env={"message": '{{ dag_run.conf["message"] if dag_run else "" }}'},
)
我不想“硬編碼”運算子的引數,即“task_id”、“bash_command”等。
而是傳遞一個字典,例如:
arguments = {
"task_id": "Bash_task",
"bash_command": "echo \"here is the message: '$message'\"",
}
bash_task = BashOperator(
arguments=arguments
)
就我而言,我正在使用更復雜的運算子,需要根據某些條件動態設定引數。我的理解是你可以用“params”引數來做到這一點,但它不像我想的那樣作業。我能夠通過例如 yaml 檔案動態傳遞引數值,但不能動態選擇要設定的引數,以及它們的值將通過例如字典。
是否有可能或最好的方法是什么?
uj5u.com熱心網友回復:
這是標準的 Python 功能(** 運算子)。
使用**arguments擴展字典的關鍵字引數轉換Python的字典來kwargs?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/337400.html
上一篇:在模板中使用不完整的型別
