【问题标题】:Airflow - How to use macros in a sensor气流 - 如何在传感器中使用宏
【发布时间】:2018-01-11 22:24:37
【问题描述】:

我正在尝试在“对象”字段上的 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 推送日期,但没有成功。

是否可以以这种方式使用宏,或者我应该尝试其他方法吗? 谢谢。

【问题讨论】:

    标签: python airflow


    【解决方案1】:

    我相信您的屏幕截图是“任务实例详细信息”选项卡,在这种情况下,实际上可以看到预渲染值file-name-prefix{{ ds }}.gz

    如果你想看到你的模板参数被渲染,那么你需要查看任务下的“渲染模板”选项卡。

    【讨论】:

    • 你是对的,价值就在那里。传感器因其他原因无法工作。第一天使用 Airflow,抱歉这个愚蠢的问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多