使用参数在 Google Cloud Conductor 中触发 DAG

Trigger DAG in Google Cloud Conductor with Parameter

https://cloud.google.com/composer/docs/how-to/using/triggering-with-gcf示例中,它允许您根据事件按名称触发 dag。您是否也可以将事件中的参数传递给 dag,例如添加到存储桶中的文件名?

我确实能够使用参数从 Cloud Functions 触发 DAG。 为此,我使用了 Rest API Plugin made by robertsanders

我必须将 JSON 映射作为参数传递给 WEBSERVER_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']