You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Composer中BashOperator的curl命令路径报错求助

Cloud Composer中Airflow任务的正确路径方案

你遇到的路径问题源于Cloud Composer的文件系统挂载逻辑和本地Airflow的差异:

  • 若仅需临时存储(任务运行期间可用,结束后自动清理),直接保留/tmp/launches.json即可,这个路径在Cloud Composer的工作节点容器中默认存在且可写,当前命令无需修改就能正常执行。

  • 若需要持久化保存下载的文件(任务结束后数据不丢失),必须使用Cloud Composer挂载的GCS专属数据路径:/home/airflow/gcs/data/launches.json。原因如下:

    • /home/airflow/gcs/dags是专门存放DAG文件的目录,任务进程无写入权限,也不应在此存储任务生成的数据;
    • /home/airflow/gcs/data是Cloud Composer默认挂载的任务数据存储目录,对应关联GCS桶内的data文件夹,文件会自动同步到GCS实现持久化。

修改后的持久化版本代码:

download_launches = BashOperator(
    task_id="download_launches",
    bash_command="curl -o /home/airflow/gcs/data/launches.json -L 'https://ll.thespacedevs.com/2.0.0/launch/upcoming'",  # noqa: E501
    dag=dag,
)

默认配置下Cloud Composer的服务账号已拥有GCS桶的写入权限,无需额外配置。

内容的提问来源于stack exchange,提问作者VKarthik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 23:18:42