Airflow - 如何在传感器中使用宏
Airflow - How to use macros in a sensor
我正在尝试在字段 "object" 上的 GCS 传感器中使用宏,它是根据 documentation 模板化的,但它不起作用。 UI 显示具有宏作为值的 "object"。
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 推送日期,但没有成功。
是否可以通过这种方式使用宏,或者我应该尝试其他方法吗?
谢谢
我相信您的屏幕截图属于 "Task Instance Details" 选项卡,在这种情况下,实际会看到 file-name-prefix{{ ds }}.gz
的预渲染值。
如果您想查看呈现的模板参数,则需要查看任务下的 "Rendered Template" 选项卡。
我正在尝试在字段 "object" 上的 GCS 传感器中使用宏,它是根据 documentation 模板化的,但它不起作用。 UI 显示具有宏作为值的 "object"。
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 推送日期,但没有成功。
是否可以通过这种方式使用宏,或者我应该尝试其他方法吗? 谢谢
我相信您的屏幕截图属于 "Task Instance Details" 选项卡,在这种情况下,实际会看到 file-name-prefix{{ ds }}.gz
的预渲染值。
如果您想查看呈现的模板参数,则需要查看任务下的 "Rendered Template" 选项卡。