各位朋友知道,使用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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。