Design Automation for Revit大文件上传WorkItem报错413咨询解决方案
Design Automation for Revit WorkItem大文件处理问题
在使用Design Automation for Revit的WorkItem流程时,测试小文件(单文件约10Mb)能正常将Revit模型及所有链接文件上传至应用存储桶,但处理真实建筑项目时出现错误:主文件4.2Gb,24个链接文件(大小范围60Mb至2Gb,总容量约12Gb),返回状态码error 413,响应信息如下:
"Payload length of 33269 bytes exceeds the allowed limit of 16384 bytes. (Parameter 'ContentLength')"
当前WorkItem配置示例:
{ "activityId": "{{applicationNickname}}.{{revitApplicationId}}Activity+{{revitApplicationAlias}}", "arguments": { "rvtFile": { "url": "urn:adsk.objects:os.object:wip.dm.prod/6470e126-43a9-49b8-abe5-8bd1ad064a0c.rvt", "localName" : "Interr_AR.rvt", //--4.3Gb "references": [ { "url": "urn:adsk.objects:os.object:wip.dm.prod/85174092-4d9d-42e4-81e1-2cf70f54a16a.rvt", "localName" : "PRK_AR.rvt",//--567Mb "headers": { "Authorization": "Bearer {{token}}" } }, // 省略其余22个链接文件配置 ], "headers": { "Authorization": "Bearer {{token}}" } }, "input" :{ "url": "data:application/json,{ \"Names\" : [ \"XYICON LEVEL 1 Revised\", \"XYICON LEVEL 2 Revised\", \"XYICON LEVEL 3 Revised\", \"XYICON LEVEL 4 Revised\", \"XYICON LEVEL 5 Revised\", \"XYICON LEVEL 6 Revised\", \"XYICON LOWER LEVEL Revised\", \"XYICON ROOF LEVEL Revised\"] }", "headers": { "Authorization": "Bearer {{token}}" } }, "output_zip_file": { "url": "urn:adsk.objects:os.object:{{bucketKey}}/revit_output.zip", "verb": "post", "headers": { "Authorization": "Bearer {{token}}" } }, "outputJsonFile": { "url": "urn:adsk.objects:os.object:{{bucketKey}}/output.json", "verb": "post", "headers": { "Authorization": "Bearer {{token}}" } } } }
咨询问题
- 将所有文件打包后上传至存储桶是否可行?
- 是否支持直接使用原位置文件,无需复制到存储桶?
- 5Gb以上超大文件有何处理方案?
问题解答
打包上传可行,但需配套解压逻辑
可以把主文件和所有链接文件打包成一个压缩包上传到存储桶,但必须在Activity代码中添加解压步骤:WorkItem执行时,先将压缩包解压到本地工作目录,同时要保证Revit主文件能正确识别链接文件(需保持原文件目录结构,或在代码中调整链接路径)。另外要注意压缩包体积不能超出存储桶单文件上传限制,以及Design Automation的下载带宽约束。支持直接使用原位置文件
只要原文件的URL可通过公开访问,或能通过请求头里的Authorization令牌正常访问,就可以直接在WorkItem的arguments中使用该URL,无需复制到应用存储桶。但要确保URL在WorkItem执行期间持续有效,且网络访问稳定。5Gb以上超大文件处理方案
- 分块传输:使用Object Storage的分块上传功能将超大文件上传到存储桶,Design Automation会自动处理分块文件的下载与拼接,无需额外开发。
- 文件瘦身:先对Revit主文件和链接文件进行清理,比如删除未使用的族、视图、冗余链接,减小文件体积后再处理,能有效降低传输和处理压力。
- 拆分处理:若业务允许,可将大项目拆分成多个子项目分别处理,最后合并结果;或优先处理核心模块,再逐步处理其他链接文件。
内容的提问来源于stack exchange,提问作者SergeySSH
相关产品推荐
相关产品推荐

