【问题标题】:How Can I pass a Variable to a Single Airflow Task Instance in UI如何将变量传递给 UI 中的单个 Airflow 任务实例
【发布时间】:2021-08-31 19:19:10
【问题描述】:

我在 Kubernetes 上运行气流(所以不想要涉及 CLI 命令的解决方案,理想情况下,一切都应该通过 GUI 来实现。)

我有一些任务,只想手动将变量注入命令。我可以使用气流变量来实现这一点,但用户必须先创建然后重置变量。

使用变量可能看起来像:

flag = Variable.get(
    "NAME_OF_VARIABLE", False
)
append_args = "--injected-argument" if flag == "True" else ""

或者你可以使用 jinja 模板。

有没有办法在没有 CLI 的情况下将变量一次性注入任务?

【问题讨论】:

  • 我想我可以添加一个任务来重置变量 - 但感觉很hacky
  • 您可以在this answer 中找到有关如何在从 UI 触发 DAG 时传递参数的示例。

标签: airflow


【解决方案1】:

无法将值传递给 Airflow 中的单个任务,但您可以触发 DAG 并为单个 DAG 运行提供 JSON 对象。

当模板化为 {{ dag_run.conf }} 时,可以访问 JSON 对象。

【讨论】:

  • 很有趣,所以只要我乐意将参数传递给 dag 中的所有任务,那么我就可以做到。似乎变量加重置可能是我手动执行特定任务的最佳途径,然后重新运行。
猜你喜欢
  • 1970-01-01
  • 2013-01-25
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 2014-07-12
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多