Vane Data / API 参考
文件函数
文件函数构造和查看 FILE 家族值:FILE、IMAGEFILE、AUDIOFILE 和 VIDEOFILE。它们解析存储与元数据,不解码内容,并为图像、音频、视频函数的 file 参数提供基础。多数函数都有 Python 形式、SQL 形式和 Expression 方法;from_files 与 open_file 仅 Python。
如何选择接口
| 分组 | 函数 | 用途 |
|---|---|---|
| 构造器 | file、image_file、audio_file、video_file、to_file、try_to_file、from_files | 构建 FILE 家族值 |
| 检查 | file_path、file_size、file_exists、file_stat、file_mime_type、guess_mime_type | 读取已解析元数据 |
| 身份 | file_locator_id、file_content_id、file_same_location、file_same_content | 比较位置与内容 |
| 列举与读取 | list_files、open_file、file_enrich | 枚举、打开与补全文件 |
Python File 值
在 Python 中,vane.File、vane.ImageFile、vane.AudioFile 和 vane.VideoFile 是拥有相同五个字段(url、content_type、position、size、checksum)的不可变引用。它们提供:
| 成员 | 返回 |
|---|---|
| file.exists() | bool,不解码 |
| file.stat() | vane.FileStat,已解析元数据,不解码 |
| file.mime_type(detect="metadata") | MIME 类型或 None |
| file.open(buffer_size=None) | 只读 VaneFileReader |
| file.to_tempfile(buffer_size=1048576) | 二进制临时文件 |
| file.is_image() / is_audio() / is_video() | 不做 I/O 的子类型判断 |
| file.as_image() / as_audio() / as_video() | 用相同五字段重新定型;跨子类型转换抛 TypeError |
子类型分类先看声明的子类型,再看 content_type 或 URL 后缀(仅路由提示);as_* 用相同五字段重新定型,跨子类型抛出 TypeError。
ImageFile.decode() / metadata()、AudioFile 方法与 VideoFile 方法始终使用其 Python 实现。
返回值与错误
NULL 输入返回 NULL。缺失或不可访问的对象报错,例外包括:try_to_file(可恢复访问失败时返回 NULL)、file_exists(对象缺失时返回 false,可恢复访问错误时返回 NULL),以及可能返回 NULL 的元数据查询(file_size、file_mime_type、file_content_id)。SQL 表达式相等要求相同 FILE 子类型,并保持 SQL NULL 语义。