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

使用Fsspec创建S3对象本地缓存时出现open_local相关ValueError如何解决

错误原因

open_local 仅支持本身就是本地文件的系统调用,simplecache 包装后的文件系统不满足该属性要求,更换调用方式即可解决问题。同时你最初填写的 S3 路径重复了 blend.20211019/01/core 片段,需要先修正路径格式。


可用的URL格式及对应代码

你可以选择S3协议或者HTTP直链两种格式的URL,都可以实现本地缓存需求:

1. S3协议URL格式

正确URL为:simplecache::s3://noaa-nbm-grib2-pds/blend.20211019/01/core/blend.t01z.core.f001.co.grib2
对应调用代码:

import fsspec

url = 'simplecache::s3://noaa-nbm-grib2-pds/blend.20211019/01/core/blend.t01z.core.f001.co.grib2'
with fsspec.open(url, s3={'anon': True}, filecache={'cache_storage':'/tmp/files'}) as f:
    # f.name 就是缓存到本地的文件绝对路径,直接操作该路径和普通本地文件无差异
    local_file_path = f.name

2. HTTP直链URL格式

正确URL为:simplecache::https://noaa-nbm-grib2-pds.s3.amazonaws.com/blend.20211019/01/core/blend.t01z.core.f001.co.grib2
对应调用代码:

import fsspec

url = 'simplecache::https://noaa-nbm-grib2-pds.s3.amazonaws.com/blend.20211019/01/core/blend.t01z.core.f001.co.grib2'
with fsspec.open(url, filecache={'cache_storage':'/tmp/files'}) as f:
    local_file_path = f.name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:24:01