气流 - 如何在传感器中使用宏

时间:2018-01-11 22:24:37

标签: python airflow

我正在尝试在“对象”字段中使用GCS传感器中的宏,该字段根据documentation进行模板化,但它不起作用。 UI显示将宏作为值的“对象”。

dag = DAG('dag-name',
        schedule_interval="@once",
        default_args=default_args)

date = "{{ ds }}"

gcs_sensor = GoogleCloudStorageObjectSensor(
    task_id='sensor-task-id'
    ,bucket='bucket-name'
    ,object='file-name-prefix' + date + '.gz'
    ,google_cloud_conn_id='google-cloud-storage-default'
    ,dag=dag)

dataflow_job_operator = KubernetesJobOperator(
    task_id='task-id'
    ,image='image/path:latest'
    ,command=exec_args
    ,environment=env_variables
    ,dag=dag)

dataflow_job_operator.set_upstream(gcs_sensor)

Object filed result screenshot from airflow UI

我尝试使用XCom来使用pythonOperator推送日期,但没有成功。

是否可以以这种方式使用宏,还是应该尝试别的? 感谢。

1 个答案:

答案 0 :(得分:0)

我相信你的截图是"任务实例细节"选项卡,在这种情况下,实际上预期会看到file-name-prefix{{ ds }}.gz的预渲染值。

如果要查看渲染的模板参数,则需要查看"渲染模板"任务下的标签。