代码之家  ›  专栏  ›  技术社区  ›  Rob

用参数触发Google云导体中的DAG

  •  1
  • Rob  · 技术社区  · 6 年前

    https://cloud.google.com/composer/docs/how-to/using/triggering-with-gcf 例如,它允许您根据事件按名称触发dag。您还可以从事件向dag传递一个参数,比如添加到bucket的文件名吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   vdolez    6 年前

    我确实能够用参数从云函数中触发DAG。 Rest API Plugin made by robertsanders

    我必须将一个JSON映射作为参数传递给web服务器URL:

    const WEBSERVER_URL = 'https://' + WEBSERVER_ID + '.appspot.com/admin/rest_api/api?api=trigger_dag&dag_id=' + DAG_NAME + '&conf=%7B%22fileName%22%3A%22' + fileName + '%22%7D';
    

    然后,在一个PythonOperator中,我得到了映射的文件名条目,如下所示:

    def get_file_name_from_trigger(ds, **kwargs):
        return kwargs['dag_run'].conf['fileName']