3

各位朋友知道,使用Forge转换服务得到Forge Viewer格式,在提交转换请求后,需要再有一个过程,调用另外一个服务,定期询问是否转换完毕。这种方式对于应用程序本身并不是很有效率,而且为避免任务阻塞,通常会设计为异步调用,所以也要考虑在适当的时机通知应用程序其它环节:模型转换状态。

网络服务开发的典型方案是WebHook:
https://www.cnblogs.com/wangw...
即应用程序设置一个post的端口,再订阅网络服务提供商的特定操作的消息通知(WebHook)。当特定操作发生了,则会向此端口发出消息,并附上相关数据,这样应用程序拿着这些状态就可以其它操作了。

在今年年初的WebHook版本中,只支持数据管理部分的操作(上载,下载,删除,移动,复制等)
https://forge.autodesk.com/bl...

现在,Forge的WebHook机制支持模型转换状态了!使用相当简单,首先创建一个Webhook,订阅【转换服务状态】的操作:

{
  "callbackUrl": "http://bf067e05.ngrok.io/callback",
  "scope": {
    "workflow": "my-workflow-id"
  }
}

在请求转换的时候,带上这个WebHook id:

{
  "input": {
    "urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6d2htZHRlc3RzdGcvQ2FzZUlubmVyLmlwdA"
  },
    "output": {
    "formats": [{
      "type": "obj"
    }]
  },
  "misc": {
    "workflow": "my-workflow-id"
  }
}

当转换完成了,则会通知你的回调端口,例如本例中的
http://bf067e05.ngrok.io/call...

WebHook怎么用,请参见我写的两篇文章:
https://forge.autodesk.com/bl...
https://forge.autodesk.com/bl...


梁晓冬
527 声望301 粉丝

现就职于Autodesk软件中国有限公司,主要负责Autodesk产品API和APS云服务的推广和传播工作。


引用和评论

0 条评论