无法将Apache Airflow连接至Google Cloud:JSON密钥文件路径错误求助
解决Airflow在WSL中找不到GCP密钥文件的问题
这明显是踩了WSL和Windows路径映射的坑呀!WSL的文件系统和Windows是相互独立的,你直接用Windows的C:/路径或者根目录/AIRFLOW1的写法,WSL根本识别不了,这就是报错的核心原因。给你几个具体的解决步骤:
- 改用WSL的Windows磁盘挂载路径:Windows的C盘在WSL里是挂载在
/mnt/c/目录下的,所以你原来的C:/AIRFLOW1/secret/key.json对应的WSL路径应该是/mnt/c/AIRFLOW1/secret/key.json,把Airflow连接配置里的路径改成这个绝对路径试试。 - 先验证路径有效性:在WSL的终端里执行
ls /mnt/c/AIRFLOW1/secret/,看看能不能列出key.json文件。这里要注意Linux是大小写敏感的,如果Windows里的文件名是Key.json,你写key.json就会找不到,得完全匹配文件名的大小写。 - 检查文件权限:有时候WSL访问Windows文件会有权限问题,你可以在终端里执行
chmod 644 /mnt/c/AIRFLOW1/secret/key.json,给文件设置可读权限,避免因为权限不足导致Airflow无法读取。 - 更稳定的方案:把密钥复制到WSL本地:如果你不想折腾跨系统路径,可以把密钥文件复制到WSL的Airflow目录下,比如先执行
mkdir -p ~/airflow/secret/创建目录,再执行cp /mnt/c/AIRFLOW1/secret/key.json ~/airflow/secret/,然后Airflow里的路径就写成~/airflow/secret/key.json或者绝对路径/home/你的WSL用户名/airflow/secret/key.json,这样访问起来更稳定。
内容的提问来源于stack exchange,提问作者Guilani_folk
相关产品推荐
相关产品推荐

