在本地OpenWhisk

时间:2017-02-02 12:41:29

标签: ibm-cloud cloudant openwhisk

我有本地安装的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吗?

1 个答案:

答案 0 :(得分:2)

TLDR:您正在寻找CloudantProvider。见https://github.com/openwhisk/openwhisk-package-cloudant

要使用Cloudant Feed,OpenWhisk需要一个额外的组件来实际监听Cloudant中的更改(本质上是CouchDB _changes Feed)并在OpenWhisk中触发触发器。您看到的feed-action与该服务进行对话以设置处理程序,该处理程序将侦听您提供的数据库中的_changes。然后它会在收到更改后触发指定的触发器。