各位朋友知道,使用Forge转换服务得到Forge Viewer格式,在,需要再有一个过程,调用,定期询问是否转换完毕。这种方式对于应用程序本身并不是很有效率,而且为避免任务阻塞,通常会设计为异步调用,所以也要考虑在适当的时机通知应用程序其它环节:模型转换状态。
网络服务开发的典型方案是WebHook:
即应用程序设置一个post的端口,再订阅网络服务提供商的特定操作的消息通知(WebHook)。当特定操作发生了,则会向此端口发出消息,并附上相关数据,这样应用程序拿着这些状态就可以其它操作了。在今年年初的WebHook版本中,只支持数据管理部分的操作(上载,下载,删除,移动,复制等)
现在,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" }}
当转换完成了,则会通知你的回调端口,例如本例中的
WebHook怎么用,请参见我写的两篇文章: