查询 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 项目属性时出错的主要内容,如果未能解决你的问题,请参考以下文章