如何在 AWS lambda 函数中设置 dynamo db 触发器

Posted

技术标签:

【中文标题】如何在 AWS lambda 函数中设置 dynamo db 触发器【英文标题】:How to setup a dynamo db trigger in AWS lambda function 【发布时间】:2020-10-12 13:02:47 【问题描述】:

我是 AWS lambda 新手,心里有一个疑问。我有一个 dynamodb 表(“People”),在该表中我有一个名为 “SeniorCitizen” 的属性。默认情况下,该属性根据另一个属性 “年龄” 设置为是/否。

在某个时间点,Age 属性会在表格中更新,基于此我希望触发我的 lambda 函数以将 SeniorCitizen 属性值从 No 更新为是的,如果某个人的年龄超过 60 岁。

那么如何设置触发器以在表更新时检查表中的年龄并触发我的 lambda 函数来执行 SeniorCitizen 属性的实际更新?

【问题讨论】:

【参考方案1】:

一旦您将 DynamoDB 配置为触发 Lambda 函数,它将在每次记录更新时触发该函数。无法告诉 DynamoDB 仅在特定字段更新时触发 Lambda 函数。

您只需配置 Lambda 函数以检查 AgeSeniorCitizen 值是否不匹配,如果不匹配,则使用 AWS 开发工具包为您的 Lambda 函数编程语言更新 DynamoDB 记录是写在里面的。

【讨论】:

有什么方法可以知道我的 lambda 函数中更新了哪些项目?因为当表格更新时,我需要更新的记录来检查修改后的人的年龄并决定是否更改 SeniorCitizen 有关获得更新的项目的信息是传递给 Lambda 函数的事件数据的一部分。否则,整个 DynamoDB 触发器功能将毫无意义。我建议阅读文档docs.aws.amazon.com/amazondynamodb/latest/developerguide/…

以上是关于如何在 AWS lambda 函数中设置 dynamo db 触发器的主要内容,如果未能解决你的问题,请参考以下文章

AWS Lambda Python3.7 函数 - numpy:无法导入名称“WinDLL”

如何使用 AWS Lambda 脚本通过 Terraform 部署 AWS 基础设施

尝试在 lambda 函数中设置按钮标签时出现分段错误

Terraform lambda 函数验证异常

如何在AWS Almbda中设置环境变量或使用即时客户端库

如何在 spark-shell 中设置 aws 访问密钥和 aws 密钥