首页 > 解决方案 > 是否可以从 AWS Kinesis 流中触发特定的 lambda 函数?

问题描述

是否可以从 AWS Kinesis 流中触发特定的 lambda 函数?

我有多个订阅 kinesis 流的 lambda 函数 (CREATE/UPDATE/DELETE),现在我只想根据数据/事件类型触发特定的 lambda 函数。

是否可以?如果不是,处理这个问题的更好的架构/方法是什么?

标签: amazon-web-servicesaws-lambdastreamingpublish-subscribeamazon-kinesis

解决方案


可悲的是,你不能这样做。一般有两种方法可以克服:

  1. 将您的流连接到一个 lambda 函数。该函数将从流中接收所有记录并将它们分派给其他函数。例如,调度可以是直接的,也可以通过专用的 SQS 队列。
                   /-----> SQS 1 ---> CREATE lambda
Kinesis---->Lambda ------> SQS 2 ---> UPDATE lambda
                   \-----> SQS 3 ---> DELETE lambda
  1. 也使用一个函数,但这次 UPDATE、CREATE 和 DELETE 代码将在单个函数中。因此,在 lambda 处理程序函数中,您将使用基本的 if-then-else条件来为 UPDATE、CREATE 和 DELETE 功能调用不同的代码。

推荐阅读