非常基本的问题。我有两个dynamodb表。 Table1包含值列表,Table2将包含值的总和(平均值等)。
我正在使用dyndamodb流来触发lamda函数来计算Table1中数据的聚合值,然后使用这些值更新Table2。我的问题是,dyndamodb流是否包含ENTIRE table1或仅包含新记录?
我只是调整lambda函数来计算平均值并存储到Table2中,我只想尝试计划最佳方法。一切似乎都在起作用。只是绊倒从table1获取数据。关于forEach记录的任何其他提示也将受到高度赞赏。谢谢!
答案 0 :(得分:0)
只有修改过的字段,否则每次流整个数据库都没有多大意义?来自文档:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.Tutorial.html
您将收到如下消息:
{
"Records": [
{
"eventID": "7de3041dd709b024af6f29e4fa13d34c",
"eventName": "INSERT",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-west-2",
"dynamodb": {
"ApproximateCreationDateTime": 1479499740,
"Keys": {
"Timestamp": {
"S": "2016-11-18:12:09:36"
},
"Username": {
"S": "John Doe"
}
},
"NewImage": {
"Timestamp": {
"S": "2016-11-18:12:09:36"
},
"Message": {
"S": "This is a bark from the Woofer social network"
},
"Username": {
"S": "John Doe"
}
},
"SequenceNumber": "13021600000000001596893679",
"SizeBytes": 112,
"StreamViewType": "NEW_IMAGE"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/BarkTable/stream/2016-11-16T20:42:48.104"
}
]
}
不知道你需要什么样的聚合,也不知道你的用例,所以我无法帮助你。