我试图编写一个Azure CosmosDB集成(Core ),它与外部服务集成以提供一些查询数据。例如,我需要在Cosmos DB上进行查询,通过REST调用外部服务,将查询返回的一些数据(例如ID)转换为实际数据。只有在查询某些列时才会发生这种情况。
我最初研究了使用JS存储过程和/或UDF进行外部调用,但是JS环境似乎非常有限,没有提供进行外部调用的任何方法。然后,我尝试使用这个https://github.com/Oblarg/cosmosdb-storedprocs-ts存储库,它使用webpack将所有node.js绑定到存储过程中,允许在存储过程中使用节点模块。虽然这确实允许使用一些节点模块,但每当我尝试使用"https“、"fetch”或"axios“模块来发出HTTP GET请求时,我都会得到错误(在正常的节点环境中,相同的代码工作正常,但我不是JS专家,似乎无法通过这些错误工作)。经过一天的尝试,似乎不可能采用存储过程方法。
是这种情况,还是有某种方式从JS存储过程发出HTTP请求?如果无法使用存储过程,那么在查询cosmos DB时,是否还有其他技术可以满足从远程API读取数据的要求?
谢谢
发布于 2022-04-29 17:12:35
没有办法直接从CosmosDB中实现这一点,因为查询也不能使用变更提要,因为文档不会改变,所以真正的唯一选择是使用函数或预处理程序来处理它,就像您说的不太理想,但这里没有其他解决方案。如果它是一个插入或更新,那么更改提要将允许您这样做,但是对于普通的查询,这是不可能的。
https://stackoverflow.com/questions/72056432
复制相似问题