0

我正在通过覆盖 BaseSensorOperator 创建的 Airflow 2 中设计一个自定义传感器 MySensor。我有一个名为的参数file,它作为模板字段传递给我的构造函数

template_fields = ("file",)

我有一个名为 file 的 Airflow 变量,它保存参数文件的值。然后我在我的 DAG 中实例化一个任务,如下所示。

my_task = MySensor(task_id="my_task", file = "{{var.value.file}}")

这可以正常工作,因为它是一个模板字段,并且将使用存储在 Airflow 变量中的值。但是当我将此参数作为字符串传递时出现问题,即没有 Jinja 模板。

my_task = MySensor(task_id="my_task", file = "/my_test_file.jar")

这给了我一个错误AttributeError: 'MySensor' object has no attribute 'file'

我在这里缺少什么吗?如何将非模板化参数传递给 Airflow 2 中的模板字段

4

0 回答 0