【发布时间】:2020-04-11 12:05:23
【问题描述】:
全部,
我们有几个带有 DAG 信息的 JSON 文件。我创建了一个 python 脚本来读取这些 JSON 文件,以便为 Composer 气流动态生成 DAG。现在我面临的挑战是在我的 python 脚本中获取正在运行的 DAG 列表并从我的本地系统触发单个 DAG。
在我的本地,我已经设置了私有 SSH 密钥,因此我可以使用以下命令获取在 composer 气流中运行的 DAG 列表。
gcloud -q composer environments run "$ENVIRONMENT" --location "$REGION" list_dags
我可以通过使用气流服务器 URL 来使用 POST/GET 请求,但在触发它时会遇到身份验证错误。
curl -X POST http://<airflow servername>api/experimental/dags/airflow_monitoring/dag_runs -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -H 'Content-Length: 0'
有人可以帮我解决以下问题吗?
- 如何在composer气流的DAG文件夹中的python脚本中获取正在运行的DAG列表?
- 我无法使用 composer 环境变量覆盖“webserver-authenticate”气流配置变量,因为该变量被阻止。如果无法覆盖配置变量,如何启用身份验证?
- 有没有办法通过提供通用凭证/个人凭证或其他方式从任何人的本地系统启动 DAG?我想我可以通过使用 Jenkins 作业来完成这项任务,但我想知道它是否可以从终端/命令行完成。
感谢您的帮助
最好的问候
【问题讨论】:
标签: google-cloud-platform airflow airflow-scheduler google-cloud-composer