问题描述
我有两个 lambda 表达式 L1 和 L2。我正在 L1 中启动状态机。我有 L1 的环境变量,即 E1。基本上 E1 是空间分隔值列表,我需要在 L1 中执行一些哈希函数,对于每个值,我需要使用该值和 Hash(value) 作为输入触发 Lambda L2 的单独实例
例如:E1 - "1 2 3" 和 hash(1) = 堆栈,hash(2) = 结束,hash(3) = 流 应该使用 (i,hash(i)) 作为 L2 的输入/有效负载触发 L2 的三个实例
如何使用阶梯函数实现这一点
解决方法
您可以使用 Map
状态执行此操作。最简单的方法是让第一个函数的输出是第二个函数的输入数组。所以是这样的:
[
{
i: 1,iHash: 'hashed 1'
},{
i: 2,iHash: 'hashed 2'
}
.
.
.
]
在 Map
状态下,您将 iterator
值设置为来自输出的数组。数组中每个元素的值将是 Map
状态内第一个状态的输入。在 Map
状态中,您只需要另一个 Task
状态,即您的第二个 Lambda 函数,并将 $
传递给 Payload
。