You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
tosfsspec
tosfsspec 参数配置
复制全文
下载 pdf
tosfsspec 参数配置
本文主要介绍如何使用 tosfsspec 配置 TosFileSystem 的核心与高级参数,并在多进程场景下完成高性能日志初始化。​
TosFileSystem 核心参数​
TosFileSystem 构造函数的核心参数用于完成鉴权并建立与火山引擎 TOS 的连接。​
​
参数名​
类型​
是否必需​
描述​
key​
str​
是​
火山引擎账号的 Access Key ID (AK)。​
secret​
str​
是​
火山引擎账号的 Secret Access Key (SK)。​
region​
str​
是​
目标 Bucket 所在的地域,例如 cn-beijing。​
endpoint​
str​
否​
TOS 访问域名。为空时 SDK 会根据 region自动生成;若需指定内网等特定接入点,请在此处配置。​
​
示例:基本初始化​
​
import tosfsspec​
import os​
import tos​
​
# 从环境变量获取 AKSK 信息​
key = os.getenv('TOS_ACCESS_KEY')​
secret = os.getenv('TOS_SECRET_KEY')​
#初始化​
fs = tosfsspec.TosFileSystem(​
key=key,secret=secret,​
region='cn-beijing'​
)​
​
TosFileSystem 高级参数​
除凭证外,可通过高级参数控制分片、并发与重试等行为。​
​
参数名​
类型​
默认值​
描述​
part_size​
int​
8 * 1024 * 1024 (8MB)​
分片上传/复制时的分片大小,单位为字节。​
注意​
part_size必须大于等于 4MB (4 * 1024 * 1024)。​
max_retry_count​
int​
3​
请求失败时的最大自动重试次数。​
shared_prefetch_tasks​
int​
32​
读取数据时,内部预拉取任务的并发数。​
shared_upload_part_tasks​
int​
32​
分片上传任务并发数。​
shared_upload_part_copy_tasks​
int​
32​
分片复制任务并发数。​
enable_crc​
bool​
True​
是否开启 CRC64 校验。开启后,tosfsspec 会在数据上传和下载后自动进行数据一致性校验以确保数据完整性。​
​
示例:自定义高级参数​
​
import tosfsspec​
import os​
import tos​
​
# 从环境变量获取 AKSK 信息​
key = os.getenv('TOS_ACCESS_KEY')​
secret = os.getenv('TOS_SECRET_KEY')​
​
# 自定义分片大小为 16MB,并增加并发任务数​
fs_advanced = tosfsspec.TosFileSystem(​
key=key,secret=secret,​
region='cn-beijing',​
part_size=16 * 1024 * 1024, # 16MB​
shared_upload_part_tasks=64,​
enable_crc=False​
)​
​
日志初始化​
tosfsspec提供 init_logs() 用于初始化底层高性能内核的日志输出。在多进程场景中,需要在每个进程开始执行前完成一次日志初始化。​
​
参数名​
类型​
描述​
directory​
str​
日志文件目录。​
common_log​
str​
运行日志文件名的前缀,实际文件名会在此基础上追加进程 ID。​
common_level​
str​
普通运行日志级别,例如 INFO、DEBUG。​
audit_log​
str​
审计日志文件名的前缀,实际文件名会在此基础上追加进程 ID。​
audit_level​
str​
审计日志级别,例如 INFO、DEBUG。​
​
示例:多进程场景初始化日志​
​
import multiprocessing​
from tosfsspec import init_logs, TosFileSystem​
def worker(index):​
init_logs(​
directory='./logs',​
common_log='tosfsspec-common',​
common_level='INFO',​
audit_log='tosfsspec-audit',​
audit_level='INFO',​
)​
fs = TosFileSystem(key=key,secret=secret, region='cn-beijing')​
path = f'tos://your-bucket/log-demo/file-{index}.txt'​
with fs.open(path, 'wb') as f:​
f.write(f'worker {index}\n'.encode('utf-8'))​
​
if __name__ == '__main__':​
processes = [multiprocessing.Process(target=worker, args=(i,)) for i in range(4)]​
for p in processes:​
p.start()​
for p in processes:​
p.join() ​
​
最近更新时间:2026.03.27 18:00:01
这个页面对您有帮助吗?
有用
有用
无用
无用