【发布时间】:2016-06-20 11:51:24
【问题描述】:
我有不同类型的数据通过我的 kinesis 流流入。每条记录都有不同的分区键。只有在将具有特定分区键的记录添加到流中时,我才需要调用 lambda 函数。有没有办法指定只有在遇到分区键“a”而不是调用 lambda 然后检查分区键时才会触发 lambda?
【问题讨论】:
标签: amazon-web-services aws-lambda
我有不同类型的数据通过我的 kinesis 流流入。每条记录都有不同的分区键。只有在将具有特定分区键的记录添加到流中时,我才需要调用 lambda 函数。有没有办法指定只有在遇到分区键“a”而不是调用 lambda 然后检查分区键时才会触发 lambda?
【问题讨论】:
标签: amazon-web-services aws-lambda
这更像是一个设计问题,我不知道你是否可以配置这个。但您始终可以通过 SNS 使用 Lambda 链。
为您的每个分区键创建 SNS 主题并分别在它们上配置您的 Lambda,然后您可以创建一个可以获取分区键和对象的父 Lambda 函数。并将这些对象发布到相应的 SNS 主题。
【讨论】:
您可以使用仅推送具有特定分区键的记录的 SNS 主题,然后将另一个 lambda 函数连接到处理记录的该主题。
另一种选择是异步重新调用您的 lambda 函数。好处是您不需要其他组件(即没有 SNS 主题)。
这基本上是如何工作的,如果分区键为“a”,则检查函数,如果是,则使用记录和指示应处理记录的特定参数异步重新调用函数。
您可以在此处阅读有关如何执行此操作的更多信息: https://engineering.dubsmash.com/implementing-real-time-analytics-using-aws-kinesis-lambda-1ea56f10e473
【讨论】: