在沙箱工具或沙箱实例的
StorageMounts 中,您可以声明一个或多个存储挂载项,将对象存储(COS)、文件存储(CFS)目录、数据卷或存储模板挂载到沙箱运行环境。配置完成后,沙箱运行环境即可通过指定的挂载路径访问对应存储。能力概述
StorageMounts 是沙箱工具与沙箱实例的存储挂载配置。每个挂载项由一个名称、一个挂载来源和一个挂载路径组成,支持 StorageSource、数据卷(Volume)和存储模板(VolumeTemplate)三种来源。同一沙箱工具内的不同挂载项可以使用不同来源。适用场景
将对象存储(COS)或文件存储(CFS)目录挂载到沙箱运行环境。
引用已有数据卷,复用已有存储内容。
引用存储模板,在沙箱实例启动时解析或创建派生数据卷。
工作方式
挂载来源
每个挂载项必须且只能选择以下来源之一:
StorageSource:直接声明对象存储(COS)或文件存储(CFS)来源(旧版方式)。数据卷(
Volume):通过 VolumeId 或 VolumeName 二选一引用已有数据卷。存储模板(
VolumeTemplate):通过 VolumeTemplateName(必填)引用存储模板,并可选择填写 ReuseKey。同一沙箱工具内的不同挂载项可以使用不同来源。
引用存储模板
引用存储模板时,沙箱实例启动阶段系统按存储模板与复用键解析或创建派生数据卷。复用键可以是字面量或
${metadata.<name>} 表达式;元数据值为空、元数据键缺失或表达式非法时,返回 InvalidParameter 错误。引用数据卷
引用数据卷时,可通过
VolumeId 或 VolumeName 指定目标数据卷。读写一次(ReadWriteOnce)的数据卷会记录其挂载实例。工具级挂载与实例级挂载
沙箱工具与沙箱实例都可以配置
StorageMounts。启动沙箱实例时,实例级挂载按 Name 匹配并覆盖同名工具级挂载;实例级数据卷覆盖必须保持与工具级相同的 VolumeId 或 VolumeName,否则启动失败。旧版 StorageSource 兼容
旧版内嵌
StorageSource 的挂载项会原样保留并继续生效;新建挂载建议使用数据卷(Volume)或存储模板(VolumeTemplate)方式。配置说明
每个存储挂载项除挂载来源外,还需配置以下字段:
字段 | 是否必填 | 说明 |
Name | 是 | 挂载项名称,长度不超过 63 个字符,符合 DNS-1123 命名规范,且在沙箱工具内唯一。 |
MountPath | 是 | 存储挂载到沙箱运行环境的路径,长度不超过 256 个字符。 |
ReadOnly | 否 | 是否只读挂载,默认 false(读写)。 |
各挂载来源的引用字段如下:
挂载来源 | 字段 | 是否必填 | 说明 |
StorageSource | 后端 | 是 | 取值为对象存储(COS)或文件存储(CFS)之一。 |
Volume | VolumeId / VolumeName | 二选一 | VolumeId 长度不超过 64 个字符,VolumeName 长度不超过 128 个字符。 |
VolumeTemplate | VolumeTemplateName | 是 | 长度不超过 128 个字符。 |
VolumeTemplate | ReuseKey | 否 | 长度不超过 128 个字符,可为字面量或 ${metadata.<name>} 表达式。 |
使用限制
创建沙箱工具时,
StorageMounts 最多包含 10 个挂载项。启动沙箱实例时,
StorageMounts 最多包含 10 个挂载项。沙箱实例级存储挂载支持数据卷(
Volume)以及 StorageSource 的对象存储(COS)和文件存储(CFS)后端。实例级挂载不支持存储模板(VolumeTemplate)。一个沙箱最多引用一个不同的读写一次(ReadWriteOnce)数据卷;超过该数量时实例启动失败。
相关操作
存储模板
数据卷