对象存储
特性 | s3fs | tosfsspec | 说明 |
特性 | s3fs | tosfsspec | 说明 |
底层依赖 | boto3 / botocore | tosnativeclient(高性能内核)。 | tosfsspec底层依赖自研高性能内核,而非boto 生态。 |
异步支持 | 支持(通过aiobotocore) | 不支持。 | tosfsspec当前所有操作均为同步阻塞模式。不支持在 asyncio事件循环中await 调用。 |
凭证配置 | 支持多种方式(环境变量、配置文件 ~/.aws/、IAM Role、显式传入) | 主要依赖显式传入key, secret, region。 | 为保证fsspec 框架下的明确性,tosfsspec 推荐在初始化时显式提供凭证,而不是依赖全局配置。 |
缓存策略 | 支持多种 cache_type(如 readahead, blockcache, simplecache) | cache_type 固定为 none。 | tosfsspec不使用fsspec 默认提供的缓存层,而是依赖底层的高性能内核实现缓存。 |
对象版本控制 | 支持 (version_aware=True) | 不支持。 | tosfsspec 不会支持处理多版本对象。所有操作都针对对象的最新版本。 |
Requester Pays | 支持 (requester_pays=True) | 不支持。 | tosfsspec当前未支持请求者付费功能。 |
服务端加密 | 支持(通过s3_additional_kwargs) | 部分支持(通过 storage_class 等)。 | TOS 的加密配置方式与 S3 不同。tosfsspec主要通过storage_class参数来间接控制,未提供像s3fs 那样通用的s3_additional_kwargs 透传机制。 |
多进程 fork 安全 | 需要用户手动设置启动方式为spawn 或forkserver,否则不安全。 | 内置fork安全处理机制,能自动在子进程中重新初始化客户端。 | tosfsspec在fork场景下更具鲁棒性,但仍推荐使用spawn模式以彻底避免问题。 |
HNS/FNS 命名空间 | 无此概念(S3 均为扁平命名空间) | 明确支持并区分对待(如 maxdepth 的限制)。 | tosfsspec针对 TOS 特有的两种 Bucket 类型提供了适配。 |