如何在仅更新某些属性时使用DynamoDBStreamEvent触发Lambda

时间:2018-05-24 22:15:06

标签: amazon-web-services amazon-s3 aws-lambda amazon-dynamodb serverless-framework

我使用无服务器框架来部署cloudFormation。 我想在使用某些属性更新DynamoDB表后触发lambda到我的S3存储桶上的deleteObject,例如。我的表有帐户,用户,图标,我只想在我更新图标时,它触发Lambda删除我在S3存储桶上的iconObject。

当我阅读AWS上的文档时,似乎dynamoDB流Event的eventName只有三个状态,REMOVE,MODIFY,INSERT。

AWS Documentation » Amazon DynamoDB » API Reference » Data Types » Amazon DynamoDB Streams » Record Record

我可以这样做吗?但我如何知道它更新图标而不是帐户或用户等其他属性?

type="submit"

1 个答案:

答案 0 :(得分:4)

你走在正确的轨道上。如果DynamoDB StreamViewType设置为NEW_AND_OLD_IMAGES,则record.eventName === 'MODIFY'时,record.dynamodb.NewImage将包含项目的更新版本,record.dynamodb.OldImage将包含更新前项目的内容。然后,您可以检查2个对象,并在您感兴趣的字段中查找更改。