【问题标题】:Implement Cloudant change feed on local OpenWhisk在本地 OpenWhisk 上实施 Cloudant 更改源
【发布时间】:2017-02-07 05:12:11
【问题描述】:

我在本地安装了 OpenWhisk(基于 vagrant),并在本地安装了 Cloudant(来自ibmcom/cloudant-developer 容器的免费版本)。

两者按预期分开工作。

现在,使用 Bluemix,我可以使用 /whisk.system/cloudant 包在我的触发器中使用它的提要,例如监视特定数据库的更改。

在本地,此包丢失。我尝试使用wsk action get /whisk.system/cloudant/changes(例如)复制我需要的操作和提要,但似乎还有一个缺失的部分,因为提要操作指的是我以前从未见过的 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 提要吗?

【问题讨论】:

    标签: ibm-cloud cloudant openwhisk


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,马库斯 - 谢谢。你自己试过这个安装吗?说明非常简陋,我很困惑如何部署此提供程序。
    • 我同意说明非常简陋。您必须首先使用gradle 构建映像,然后部署它。不幸的是,那里没有实现这一目标的可靠剧本。
    • 哦,我开始明白了。提供者只是一个 nodejs 应用程序不断轮询数据库,然后调用 ow 触发器...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多