使用参数在 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']
在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']