Streams

在dynamodb中数据的改变(update/delete/create),都可以放到stream中。

可以将stream写入lambda,于是可以:

  • 实时处理(例如新用户注册,给用户发邮件)
  • 分析
  • 插入到elasticsearch

可以使用stream实现跨区域数据同步。

stream数据生存时间为24h。 可以配置batch size,最多1000条,6MB

原理图

image-20191005144238527

实践

首先要开启stream:

image-20191021191336601

image-20191021191351010

image-20191005144655551

点击创建触发器。

image-20191005145423372

在这里我们提前创建好了一个role,用于lambda访问dynamodb:

image-20191005145304348

image-20191005145500547

创建完成后,我们在dynamodb里刷新页面,可以看到对应的函数:

image-20191005145549051

此时在user表里插入两条数据,然后删除一条,更新一条。

在cloudwatch里可以记录下详细的操作:

image-20191005150101552