当CouchDB数据发生变化时,向外部服务器发送HTTP请求

2024-04-25 00:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我是CouchDB的新手,但使用Fauxton UI成功地执行了创建、更新和删除数据的操作。我有一些PouchDB客户端将直接与这个CouchDB数据库同步使用HTTP协议。此数据库客户端将通过另一个客户端进行身份验证ASP.NETIdentity server并在每次调用时向CouchDB服务器发送承载令牌。你知道吗

我有一个远程Windows服务器(暴露于ASP.NETwebapi端点),它实现了权限管理(使用ASP.NET身份)以及另一个服务器,该服务器具有ElasticSearch数据库(用于最快的搜索)实例。你知道吗

我的问题是,我想执行一些函数(使用JavaScript、Python或任何其他支持的语言)来检查它的权限ASP.NET如果允许,则继续调用CouchDB。 我还想捕获CouchDB的_changes事件,并对我的ElasticSearch实例执行另一个HTTP调用以插入/更新此更改。

我已经看到,我可以编写Python/Ruby代码来执行HTTP调用。但是我不明白如何用CouchDB(instance/cluster)钩住这些函数,以便调用和执行这些函数。你知道吗


Tags: 数据实例函数服务器数据库http权限ui
2条回答

对于身份验证问题,最好的方法是在CouchDB实例前面使用代理服务器,它可以使用ASP.NET在将它们转发到CouchDB之前使用Identity server。听起来你可能得自己写这封信,我对这封信不太熟悉ASP.NET解决方案,但我不认为CouchDB支持您自己需要做的事情。你知道吗

要将CouchDB中的更改放到ElasticSearch实例中,您可以尝试@maxlath中的答案,或者尝试https://github.com/elastic/elasticsearch-river-couchdb,我以前看到过这种方法很成功。你知道吗

两个JS模块可以解决部分问题:

  • follow,每次在后面的CouchDB数据库上发生更改时执行一个函数
  • couch2elastic4sync,使用follow模块使CouchDB数据库和ElasticSearch索引保持同步

相关问题 更多 >