我有本地安装的OpenWhisk(基于流浪者),以及本地安装的Cloudant(来自ibmcom/cloudant-developer
容器的免费安装)。
两者都按预期单独工作。
现在,使用Bluemix,我可以使用/whisk.system/cloudant
包在我的触发器中使用其提要,例如监视特定数据库的更改。
在本地,这个包丢失了。我尝试使用wsk action get /whisk.system/cloudant/changes
(例如)复制我需要的操作和Feed,但似乎还有另一个缺失的部分,因为Feed操作指的是我之前从未见过的cloudanttriggers位置:
function cloudantHelper(endpoint, verb, name, input) {
var url = 'http://' + endpoint + '/cloudanttriggers/' + name;
var promise = new Promise(function(resolve, reject) {
request({
method : verb,
url : url,
json: input
}, function(error, response, body) {
...
});
});
return promise;
}
知道如何在本地openwhisk安装上实现Cloudant Change Feed吗?
答案 0 :(得分:2)
TLDR:您正在寻找CloudantProvider。见https://github.com/openwhisk/openwhisk-package-cloudant
要使用Cloudant Feed,OpenWhisk需要一个额外的组件来实际监听Cloudant中的更改(本质上是CouchDB _changes
Feed)并在OpenWhisk中触发触发器。您看到的feed-action与该服务进行对话以设置处理程序,该处理程序将侦听您提供的数据库中的_changes
。然后它会在收到更改后触发指定的触发器。