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

使用Ibis加载私有GCS桶换行分隔JSON文件报错求助

解决方案:Ibis加载私有GCS桶JSON文件报错问题

问题根源

你遇到的错误不是GCS对私有文件做了压缩或加密,而是私有文件使用的https://storage.cloud.google.com开头的URL返回的是GCS控制台网页内容(HTML),而非原始JSON文件。Ibis尝试解析HTML时自然会报JSON格式错误;而公开文件用https://storage.googleapis.com开头的URL会直接返回原始文件内容,所以能正常加载。

具体解决步骤

  • 改用正确的GCS对象存储URL:私有文件统一使用https://storage.googleapis.com/<bucket-name>/<file-path>或者gs://<bucket-name>/<file-path>格式,不要用storage.cloud.google.com的网页URL。

  • 配置GCS身份认证:

    1. 确保你拥有带storage.objects.get权限的服务账号密钥文件(JSON格式)。
    2. 方法一:通过环境变量配置认证
      export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"
      
      之后直接用Ibis读取:
      import ibis
      table = ibis.read_json("gs://<bucket-name>/<file-path>")
      
    3. 方法二:代码中直接传入凭证
      import ibis
      from google.oauth2 import service_account
      
      creds = service_account.Credentials.from_service_account_file("/path/to/key.json")
      table = ibis.read_json("gs://<bucket-name>/<file-path>", credentials=creds)
      
  • 验证权限配置:确认服务账号已被赋予Storage Object Viewer(roles/storage.objectViewer)IAM角色,确保能读取目标桶内的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:09:50