如何从Cloud Composer Web服务器写入dags目录?

时间:2019-02-23 18:23:15

标签: google-cloud-storage airflow google-cloud-composer

我正在编写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)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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