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

Google cloud storage 如何从Cloud Composer Web服务器写入dags目录?,google-cloud-storage,airflow,google-cloud-composer,Google Cloud Storage,Airflow,Google Cloud Composer,我正在编写CloudComposer插件,我需要在运行时创建DAG。如何从webserver创建DAG文件,或者如何从插件代码访问bucket ID(这样我就可以使用gcs客户端并只上传DAG)?我尝试了下面的代码,但它不起作用,我没有得到任何异常,但也没有看到任何结果: dag_path = os.path.join(settings.DAGS_FOLDER, dag_id + '.py') with open(dag_path, 'w') as dag: dag.write(resu

我正在编写CloudComposer插件,我需要在运行时创建DAG。如何从webserver创建DAG文件,或者如何从插件代码访问bucket ID(这样我就可以使用gcs客户端并只上传DAG)?我尝试了下面的代码,但它不起作用,我没有得到任何异常,但也没有看到任何结果:

dag_path = os.path.join(settings.DAGS_FOLDER, dag_id + '.py')
with open(dag_path, 'w') as dag:
    dag.write(result)

可能的解决方案是从

读取存储桶ID。您可以使用,也可以使用提供的API

gcloud composer环境描述--format=json--project=--location=
这将返回cloud composer集群的详细信息。 它将把dag位置放在键
refix


dagGcsPrefix
的格式将是
gs:///dags

谢谢。我遇到了下一个问题-连接到Web服务器的服务帐户没有写入dags文件夹的权限。所以问题是:worker是否具有写入dags文件夹的权限?如果是,我如何从webserver为worker声明作业?(可能通过在运行时创建并触发DAG,将指定字符串保存到GCS bucket?)
gcloud composer environments describe --format=json --project=<project-name> --location=<region> <cluster-name>