【问题标题】:Receiving 408 request timeout when we try to put an object to a Forge bucket当我们尝试将对象放入 Forge 存储桶时收到 408 请求超时
【发布时间】:2021-05-01 09:53:13
【问题描述】:

我们正在尝试通过模型衍生 API 将“更大”模型上传到锻造桶。 该模型的文件大小为 956MB,扩展名为 .nwd

const uploadPromise = http(uploadUrl(socketId), {
    method: 'PUT',
    data: Body,
    headers: {
        'Content-Type': 'application/octet-stream',
        Authorization: `Bearer ${Forge.urns[socketId].autoDeskToken}`,
    },
    maxContentLength: 1024 * 1024 * 1024,
    timeout: 600000,
})

{ Error: Request failed with status code 408
  at createError (/nodejs/node_modules/axios/lib/core/createError.js:16:15)
  at settle (/nodejs/node_modules/axios/lib/core/settle.js:18:12)
  at IncomingMessage.handleStreamEnd (/nodejs/node_modules/axios/lib/adapters/http.js:202:11)
  at IncomingMessage.emit (events.js:203:15)
  at IncomingMessage.EventEmitter.emit (domain.js:448:20)
  at endReadableNT (_stream_readable.js:1145:12)
  at process._tickCallback (internal/process/next_tick.js:63:19)

网址似乎是正确的: https://developer.api.autodesk.com/oss/v2/buckets/-BUCKETNAME-/objects/-filename-.nwd

这个错误的原因可能是什么?

这是客户遇到的问题。

亲切的问候, 托马斯

【问题讨论】:

    标签: autodesk-forge autodesk autodesk-model-derivative


    【解决方案1】:

    这很有趣,错误代码 408 没有在端点的文档中列出:https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectName-PUT。错误代码很可能来自某个中间层(Apigee),而不是直接来自 Forge 服务器。

    但是,要上传这么大的文件,我强烈建议使用数据管理服务中提供的“可恢复上传”功能。您可以在我的 TypeScript 代码中找到可恢复上传如何工作的示例:https://github.com/petrbroz/vscode-forge-tools/blob/develop/src/commands/data-management.ts#L230-L272

    【讨论】:

    • 让我也将此信息传递给数据管理服务团队,看看 408 可能来自哪里。
    • 谢谢,期待收到更多相关信息。
    猜你喜欢
    • 2021-10-08
    • 2010-12-12
    • 2022-01-02
    • 2020-05-09
    • 2019-05-17
    • 2017-08-21
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多