如何读取气流云作曲家存储桶中的文件?

Tom*_*son 2 google-cloud-composer

要将 bigquery 查询与实际代码分开,我想将 sql 存储在一个单独的文件中,然后从 python 代码中读取它。我试图将文件添加到与 DAG 相同的存储桶中,也添加到子文件夹中,但是当气流使用 sql 文件运行我的 python 脚本时,我似乎无法读取该文件。

我想要的是这个:

gs://my-bucket/dags -> store dags
gs://my-bucket/dags/sql -> store sql files
Run Code Online (Sandbox Code Playgroud)

sql 文件可能是我需要先阅读以注入 jinja 模板不支持的内容的文件。

我可以做以上吗?

Tim*_*ast 7

Cloud Composer 使用 FUSE 驱动程序从gs://my-bucket到挂载 GCS 存储桶/home/airflow/gcs/。这意味着该gs://my-bucket/dags文件夹在调度程序、Web 服务器和工作程序中可用/home/airflow/gcs/dags

您的 DAG 应该能够从/home/airflow/gcs/dags/sql目录中读取 SQL 文件。

注意:该/home/airflow/gcs/data目录在工作人员上可用,但在网络服务器上不可用。

  • 我猜更好的方法是使用`DAGS_FOLDER` env。多变的。 (2认同)