如何从Cloud Composer webserver写入dags目录?

问题描述 投票:1回答:2

我正在编写Cloud Composer插件,我需要在运行时创建DAG。如何从网络服务器创建DAG文件或如何从插件代码访问存储桶ID(因此我可以使用gcs客户端并只上传DAG)?我尝试下面的代码,它不起作用,我没有任何例外,但我也没有看到任何结果:

dag_path = os.path.join(settings.DAGS_FOLDER, dag_id + '.py')
with open(dag_path, 'w') as dag:
    dag.write(result)
google-cloud-storage airflow google-cloud-composer
2个回答
1
投票

可能的解决方案是从Cloud Composer env variable读取存储桶ID


1
投票

您可以使用Environment Variables,也可以使用GCloud SDK提供的API。

gcloud composer environments describe --format=json --project=<project-name> --location=<region> <cluster-name>

这将返回云作曲家群集的详细信息。它将在密钥dagGcsPrefix下面的dag位置

dagGcsPrefix的格式是gs://<GCSBucket>/dags

© www.soinside.com 2019 - 2024. All rights reserved.