查询 BIM 360 项目属性时出错

Posted

技术标签:

【中文标题】查询 BIM 360 项目属性时出错【英文标题】:Error in Querying BIM 360 project attribute 【发布时间】:2021-02-08 09:10:10 【问题描述】:

我目前正在使用 AWS lambda 函数通过使用多个 BIM 360 API 端点自动创建 BIM 360 项目。

它工作正常,但我刚刚注意到它停止工作,无法访问GET projects/:project_id 端点。我的代码访问每个 BIM 360 项目的 job_number 属性以使用 job_number 过滤重复的项目。并且代码无法获得GET projects/:project_id 请求的响应。

API 最近有什么变化吗?提前谢谢你。

【问题讨论】:

能否详细说明问题是在 GET projects/:project_id 时失败,或者没有返回之前可用的数据?我们最近遇到了一个关于 GET:Project/users 的问题,但不是 GET projects/:project_id。我还明确测试过,它适用于我的 BIM 帐户,无论是美国还是 EMEA 帐户 @XiaodongLiang 非常感谢您的回复。当我可以使用GET projects/:project_id 端点时,它有时无法获得响应。以下是我的发现:当多个请求之间至少有几分钟的间隔时,API 请求运行良好。当多个请求几乎同时发送到 Forge 时,似乎无法获得响应。 Forge API 应该是这样的吗?不能同时处理多个请求吗? 我试图给出一个答案。如果对您的情况有帮助,请将其设置为解决方案 :) 如果没有,请随时进一步更新。 【参考方案1】:

从最新的回复来看,您似乎达到了速率限制。如果正确,则响应错误码为429。每个类别API都有速率限制的限制。例如这是数据管理 API 的速率限制 https://forge.autodesk.com/en/docs/data/v2/developers_guide/rate-limiting/dm-rate-limits/ 这是 BIM360 API: https://forge.autodesk.com/en/docs/bim360/v1/overview/rate-limits/

所以,你需要为每次调用设置一些延迟来满足速率,或者使用一些异步管理方法,例如 Node.js 中的 async-pool 来控制调用速率或每分钟。

【讨论】:

这对我理解速率限制真的很有帮助。非常感谢@XiaodongLiang

以上是关于查询 BIM 360 项目属性时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 Autodesk Forge 从 BIM 360 查找项目的 URL 时遇到问题

尝试从 BIM 360 URN 显示 SVF 时出错

获取 BIM 360 项目类型参数

BIM 360 项目创建、模板重复文件夹(更新请求)

如何在 .NET 中获取分配给 BIM360 项目的用户

Autodesk Forge BIM 360 API - 激活服务类型