我有两个动作(每个动作对服务进行不同的REST调用以收集一些数据),我想创建一个元动作,它实质上触发了两个动作并聚合了结果。
我刚刚开始使用OpenWhisk,我几乎知道如何使用我用于实现操作的给定语言来执行此操作,但我很好奇OpenWhisk执行此操作的方式是什么?
答案 0 :(得分:4)
如果您想汇总结果,目前除了您所描述的方式之外没有其他方式:
创建一个新动作,触发两个动作(blocking = true)并合并结果。
npm上的openwhisk
模块使得这非常简单,因为你可以在那里调用一系列动作:
var openwhisk = require("openwhisk")
function main(params) {
var ow = openwhisk()
return ow.actions.invoke([
{name: "action1", blocking: true},
{name: "action2", blocking: true}
]).then(([result1, result2]) => { /* do something */ });
}
调用操作blocking
,使得结果在响应中可用而不是使用blocking
,您只能获得激活ID以异步方式获取结果。