0

有没有办法从 DAG 定义中获取运行 DAG 的 google 帐户名称?这对于跟踪哪些用户正在运行 DAG 非常有帮助。

我只看到:

unixname    --> always airflow
owner       --> fixed in the dag definition

问候爱德华多

4

1 回答 1

0

可能因为 Composer 中的 DAG 本质上是 GCS 对象。GCS 对象 GET API 会告诉您谁上传了该对象。因此,这是获取所有者信息的一种可能方式:

  1. 在 DAG 定义中定义函数 user_lookup()。
  2. user_look() 的实现包括以下步骤: a) 获取当前文件路径(例如,os.path.basename(__file__));b) 根据 Composer GCS 对象在本地的映射方式,确定对应的 GCS 对象路径(例如,gs://{your-bucket}/object);c) 读取 GCS 对象详细信息并返回 object.owner。
  3. 在 DAG 定义中,设置 owner=user_lookup()。

让我们知道上述方法是否适合您。

于 2018-10-23T06:56:40.413 回答