我想编排类似于unix管道的Amazon lambda函数,但是每个函数都将其原始有效负载(和结果)交给下一个:
charge_customer | send_log | email_customer
charge_customer
通过API网关调用。
我已经考虑过使用SNS实现这一目标:做一个
client_fetch('POST', 'url/to/first_func', payload_including_next_funcs)
然后将first_func
的结果放到SNS上。
但如果没有第一个lambda等待所有其他人完成,那么它似乎并不可能。我也可以让第一个lambda调用所有其他的然后返回。
有没有办法实现这样的机制?或者另一种方法,我可以避免将所有代码放在一个lambda中,并且仍然可以通过单个API网关往返来实现它,并且没有lambda等待彼此?