Google cloud platform 如何在存储在DAG文件夹中的python脚本中获取composer airflow的运行DAG列表?
全部, 我们有几个带有DAG信息的JSON文件。我创建了一个python脚本来读取这些JSON文件,以便为Composer动态生成DAG。现在,我面临的挑战是在python脚本中获取正在运行的DAG列表,并从本地系统触发单个DAG 在我的本地服务器中,我设置了私有SSH密钥,因此我可以使用下面的命令获取在composer airflow中运行的DAG列表Google cloud platform 如何在存储在DAG文件夹中的python脚本中获取composer airflow的运行DAG列表?,google-cloud-platform,airflow,airflow-scheduler,google-cloud-composer,Google Cloud Platform,Airflow,Airflow Scheduler,Google Cloud Composer,全部, 我们有几个带有DAG信息的JSON文件。我创建了一个python脚本来读取这些JSON文件,以便为Composer动态生成DAG。现在,我面临的挑战是在python脚本中获取正在运行的DAG列表,并从本地系统触发单个DAG 在我的本地服务器中,我设置了私有SSH密钥,因此我可以使用下面的命令获取在composer airflow中运行的DAG列表 gcloud -q composer environments run "$ENVIRONMENT" --location "$REGION"
gcloud -q composer environments run "$ENVIRONMENT" --location "$REGION" list_dags
我可以通过使用airflow服务器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'
curl-X POSThttp://api/experimental/dags/airflow_monitoring/dag_runs -H'缓存控制:无缓存'-H'内容类型:应用程序/json'-H'内容长度:0'
有人能帮我回答以下问题吗
Best问候Composer是来自谷歌的托管服务,根据,Airflow Web服务器被隔离在租户项目中。要能够访问,您必须通过身份感知代理处理身份验证。这可能有点难以实现,因为您无权访问租户项目的设置。您可以使用所有者帐户从Web浏览器进行身份验证,以访问Airflow Web服务器并使用Airflow API 但是,如果您想在脚本内部执行此操作,则必须创建一个脚本。但是这个选项存在一些问题,因为您没有访问租户项目的权限,并且需要正确设置IAP和脚本才能创建令牌 到达服务器的一个更可靠的选择是设置自己的服务器 此外,如果您想要得到运行的DAG,您也可以尝试使用。这样你就可以找到解决办法 对于DAG的执行,您可以查看如何触发DAG