一、能力概述
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)数据卷;超过该数量时实例启动失败。
十、相关操作
·存储模板
·数据卷