跳到主要内容
Vane Data / API 参考

文件列举与读取

列举与读取函数枚举路径、打开流,并补全 FILE 元数据。

签名

example.py
vane.list_files(path, recursive=False, *, connection=None) -> Relation
vane.open_file(url, mode="r", buffering=-1, encoding=None, errors=None, newline=None, *, connection=None) -> IOBase
vane.file_enrich(value, fields) -> Expression

SQL:list_files(path [, recursive])(表函数)和 file_enrich(file, fields)。open_file 仅 Python。

参数

名称类型说明默认值
path路径字符串(Python);字符串或字符串列表(SQL)待枚举路径;支持 glob 模式与目录必填
recursivebool是否递归目录False
url字符串待打开为流的 URL必填
mode"r"、"rt" 或 "rb"只读文本或二进制模式"r"
buffering、encoding、errors、newline标准 I/O 选项应用于返回的流Python 默认值
fields字符串列表或 Expression待补全的 FILE 字段;合法字段为 size、content_type 和 checksum必填

返回值与错误

list_files 每个已解析对象一行,列为 url VARCHAR、object_size UBIGINT、last_modified TIMESTAMP、version VARCHAR、etag VARCHAR、content_type VARCHAR 和 file FILE。open_file 返回标准只读流。file_enrich 补全缺失字段:size 把 position 置为 0、size 置为对象大小;content_type 先取已解析元数据再嗅探内容;checksum 补充 sha256:<hex> 摘要。不支持的字段、NULL 字段名、非法模式和访问失败都会报错。

示例

query.sql
SELECT url, file FROM list_files('photos');

来源与相关页面