$VOLUMES_DIR/support-transcripts 只读读取这些文件。除非所有者打开,没人能下载它们。
Volume 不是数据集
volume 引用带版本后缀会在解析 spec 时被拒绝。格式错误的 id 同样,以及两个 volume 的叶子名会在
同一个挂载路径上撞车的情况。
创建并填充
tp volume push 上传目录下的一切,除掉操作系统和 Office 的杂物。链路快的话把 --concurrency
调高。
删文件,或删整个 volume:
从作业里引用它
在实验配置里声明,这是持久的写法:$VOLUMES_DIR/<叶子名>。从环境变量里读路径,永远不要硬编码。
哪些后端能挂
在挂不了的后端上,提交会被拒绝并点名那个设置,而不是启动一个挂载点是空的作业。
让一个文件变成人能读的东西
两个权限,都属于所有者,都默认关闭:
它们互相独立。列出结构 —— 文件名、大小 —— 对任何能引用这个 volume 的人始终可见;内容不是。
从一个 volume 产出数据集
读一个 volume 并把结果发布出来,这叫 Processing Run:你的代码,在平台上跑,带溯源。$TUNEPLANE_DATASET_OUT_DIR 里写,运行成功后由平台发布。作业从不持有注册表凭据,发布出的
数据集继承它所读材料的分级。
这也是清洗一个 volume 的方式:读、处理、发布。平台从不改写你上传的东西。
确认成功
tp volume ls 会显示这个 volume 和它的文件数。在运行中的作业里:
Volume 防不住什么
Volume 防不住什么
如果你的代码能读到明文,任何存储控制都挡不住外带。一个能打开 PDF 的脚本,就能把它 base64 到自己
的 stdout 里。Volume 真正强制的是:
allow_download 关着时没有下载路由,allow_preview 关着时没有预览路由,
打开时每读一个文件留一条审计,只读挂载,一条被审计的引用记录,以及没有批量日志下载。每一条
出去的路都是某个人做过的决定和某个人能找到的记录。把材料完全挡在集群之外,是部署方的出网策略,不是这个功能。