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

APS Revit Design Automation结果存储桶上传失败问题求助

解决APS Revit Design Automation输出文件上传失败问题

错误1:JWT格式无效(IDX12709)

直接在XrefTreeArgument中携带Bearer token的方式不适用,Design Automation上传到Autodesk OSS时,不能通过这种方式认证,必须生成PUT方法的预签名URL,具体操作:

  • 调用OSS API的POST /oss/v2/buckets/{bucketKey}/objects/{resultKey}/signeds3upload端点,生成用于上传的预签名URL
  • 将该预签名URL直接赋值给XrefTreeArgument.Url,无需额外添加Authorization头——预签名URL已包含完整认证信息

示例代码:

// 生成上传预签名URL的请求逻辑
var uploadSignRequest = new HttpRequestMessage(HttpMethod.Post, 
    $"https://developer.api.autodesk.com/oss/v2/buckets/{bucketKey}/objects/{resultKey}/signeds3upload");
uploadSignRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
// 设置预签名URL过期时间,示例为60分钟
uploadSignRequest.Content = new StringContent("{\"minutesExpiration\": 60}", Encoding.UTF8, "application/json");

var response = await httpClient.SendAsync(uploadSignRequest);
response.EnsureSuccessStatusCode();
var signData = await response.Content.ReadFromJsonAsync<dynamic>();
string presignedUploadUrl = signData.signedUrl;

// 构造输出参数
var outputFileArgument = new XrefTreeArgument()
{
    Url = presignedUploadUrl,
    Verb = Verb.Put
};

错误2:SignatureDoesNotMatch(签名字段不匹配)

你误用了signeds3download端点,该端点用于生成下载用的预签名URL,上传操作必须使用signeds3upload端点,原因如下:

  • 下载与上传的预签名生成算法不同,用错端点会直接导致签名校验失败
  • 确认请求signeds3upload时,传入的bucketKey和resultKey完全正确,无拼写或格式错误
  • 检查生成签名所用的token是否拥有data:write权限,权限不足也会引发签名验证失败

额外注意事项

  • 确保插件生成的输出文件存放在Design Automation的工作目录内(如T:\Aces\Jobs\{JobId}\路径下),否则DA进程无法读取文件
  • 若resultKey包含特殊字符,需先进行URL编码再传入OSS API端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 13:25:10