我正在编写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)
答案 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
dagGcsPrefix
的格式为gs://<GCSBucket>/dags