You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何多次转换Bucket中的Zip文件为SVF格式并在Viewer展示

解决Bucket中Zip文件多次转换及Viewer对应展示的方案

1. 避免文件覆盖:生成唯一文件名

不要再用固定的output.zip作为Bucket中的存储文件名,每次执行workitem后,生成带唯一标识的文件名,比如结合请求ID、时间戳或UUID,例如output_<UUID>.zip或output_<timestamp>_<reqId>.zip。这样每个输出的Zip文件都是独立对象,不会覆盖旧文件,同时每个文件的URN(由BucketKey+ObjectKey Base64编码生成)也会唯一,确保Model Derivative服务将其识别为新文件进行转换。

2. 独立发起每个文件的Model Derivative转换

针对每个唯一的Zip文件单独发起转换请求:

  • 转换前先通过API查询该文件是否已有对应的衍生模型;
  • 若为新文件,发起转换请求,此时服务会返回success并启动转换流程;
  • 转换完成后,记录该Zip文件对应的衍生模型URN(即Viewer所需的urn参数),并关联到对应的前端请求标识。

3. 关联前端请求与衍生模型

由于网页和Forge应用独立,通过API通信,需在后端维护请求与文件的映射关系:

  • 前端发起转换请求时,生成唯一请求ID(或使用会话ID);
  • 后端执行workitem生成唯一Zip文件后,发起Model Derivative转换,将请求ID与衍生模型URN绑定存储(如数据库、Redis缓存);
  • 前端通过轮询或回调获取转换即 Say方法份Loins String guard Given林杰Members动态提高转换状态,拿到对应衍生模型URN后,传入Viewer加载对应模型。

4. 加载对应模型到Viewer

Viewer加载模型时,使用当前请求对应的衍生模型URN:

  • 前端拿到对应请求的URN后,调用Viewer的加载接口,传入该URN即可展示对应的装配文件;
  • 确保每个前端请求加载的是其对应的衍生模型,而非首次转换的固定URN。

关键注意事项

  • URN唯一性:只要Bucket中的ObjectKey唯一,对应的URN就会唯一,Model Derivative会将其作为新文件处理,不会返回Created而跳过转换;
  • 异步转换状态查询:Model Derivative转换是异步过程,需轮询查询转换状态,直到状态为success后再返回给前端加载;
  • 资源清理:如果不需要保留历史文件,可定期清理Bucket中的旧Zip文件及对应的衍生模型,避免存储冗余。

内容的提问来源于stack exchange,提问作者Siddhesh Nikam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:17:13