【问题标题】:Dynamodb stream lambda and Kinesis adapter usageDynamodb 流 lambda 和 Kinesis 适配器的使用
【发布时间】:2019-05-01 18:53:07
【问题描述】:

我正在进行一项设计,我们需要通过邮件实时通知客户有关交易的信息。我正在考虑使用 DynamoDB Stream + Lambda,但要发送电子邮件,我需要使用团队特定的 Java 服务,所以是否有任何 wiki 可供参考 - Lambda 如何调用 Java 服务?另一种选择是 DynamoDB Streams Kinesis Adapter ,但我很困惑我们是否需要在每次要从 Stream(轮询)读取时启动应用程序端点,或者是否有任何事件驱动(基于推送)机制也可用于在更新 DynamoDB 时触发 Java 应用程序中的方法执行?

【问题讨论】:

  • java服务是什么意思?

标签: stream aws-lambda amazon-dynamodb amazon-kinesis


【解决方案1】:

当您将 lambda 函数映射到 dynamodb 表流时,对于每个要插入、更新或删除的项目,aws 将自动调用您的 lambda 函数。

每次调用 lambda 时,aws 都会包含该项目以及之前的值以防更新,因此您无需自己读取该项目。

您描述的案例非常适合 dynamodb 流。

需要注意的一点:如果您的映射 lambda 失败,aws 将重试相同的项目,直到成功或 24 小时过去,这可能会延迟该表的所有剩余项目的处理。确保您的 lambda 始终返回成功,并以这样的方式安排您的代码,即如果要执行多次不会产生问题。例如。如果您的 lambda 在发送电子邮件后失败,aws 将重试它,再次发送邮件,然后一遍又一遍地失败。 Aws 会增加重试间隔,但您仍然不想要重复性任务。

【讨论】:

    猜你喜欢
    • 2017-02-24
    • 2022-12-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    相关资源
    最近更新 更多