读取时来自外部 API 的 CosmosDB return 数据

CosmosDB return data from external API on read

我正在尝试编写与外部服务集成的 Azure CosmosDB 集成(核心 SQL Api)以提供一些查询数据。例如,我需要在 Cosmos DB 上进行查询,以通过 REST API 调用外部服务将查询返回的一些数据(例如 ID)转换为真实数据。这应该只在查询某些列时发生。

我最初研究使用JS 存储过程and/or UDF 来进行此外部调用,但JS 环境似乎非常有限并且不提供任何方式进行外部调用。然后我尝试使用这个 https://github.com/Oblarg/cosmosdb-storedprocs-ts 存储库,它使用 webpack 将所有 node.js 捆绑到存储过程中,从而允许在存储过程中使用节点模块。虽然这确实允许使用某些节点模块,但每当我尝试使用“https”、“fetch”或“axios”模块发出 HTTP GET 请求时,我都会收到错误消息(相同的代码在普通节点环境中工作正常,但我不是 JS 专家,似乎无法解决这些错误)。经过一天的尝试,似乎无法使用存储过程方法。

是这种情况还是有某种方法可以从 JS 存储过程发出 HTTP GET 请求?如果存储过程不行,有没有其他技术可以实现查询cosmos DB时从远程读取数据的需求API?

谢谢

无法直接从 CosmosDB 实现这一点,对于查询,您也不能使用更改提要,因为文档不会更改,所以您唯一的选择是使用函数或某些预处理器应用程序来处理它,因为你说它不理想,但这里没有其他解决方案。如果它是插入或更新,则更改提要将允许您执行此操作,但对于普通查询则不可能。