实验概览
AnyCompany 正在开发一个新的电影数据库应用。该应用程序将允许用户按影片名、发行年份、出演电影的演员、评分等搜索电影。AnyCompany 选择 Amazon DynamoDB 作为数据库服务,来存储应用程序要引用的所有电影的信息。
Amazon DynamoDB 是一种无服务器 NoSQL,也称为非关系型数据库,支持键值和文档数据模型。借助 DynamoDB,您可以从小规模开始,并随着应用程序和用户群的增长在全球范围内快速扩展,同时能够支持 PB 级数据以及每秒数千万个读取和写入请求。AWS 负责管理 DynamoDB 服务,因此您不需要更新或维护服务器。有关更多信息,请参阅其他资源部分中的 Amazon DynamoDB 功能和 Amazon DynamoDB 的核心组件。
作为新加入 AnyCompany 的初级应用程序开发人员,您的任务是开发事件驱动型工作流,以便在您的数据库中添加或删除新电影时通知客户。此外,贵公司希望找到一种方法,用于将过期的数据库项目记录到 S3 中进行长期存储。为了实现这一目标,您选择了将 Amazon DynamoDB Streams、Amazon DynamoDB 生存时间 (TTL) 和 AWS Lambda 结合使用的解决方案。
涵盖的主题
在本实验结束时,您将能够:
- 使用 AWS CLI 和 shell 变量启用 DynamoDB Streams。
- 将通过适用于 Python 的 AWS SDK (Boto3) 构建的 Lambda 函数连接到 DynamoDB Stream。
- 每当在 DynamoDB 表中添加、修改或删除项目时,都会向用户发送电子邮件通知。
- 通过为表项启用生存时间 (TTL) 属性来自动删除 DynamoDB 项目。
- 创建工作流以将过期的 DynamoDB 项目移动到 Amazon S3 的长期存储中。
技术性知识先决条件
要成功完成本实验,您应该熟悉使用 linux 控制台、NoSQL 数据库概念、基本的 bash 脚本,并能够熟练使用文本编辑器编辑文件。
图标键
本实验中使用了不同图标,以提醒您注意指南的特定部分。下面的列表解释了每个图标的用途:
- 键盘图标表示您必须运行一个命令。
- 剪贴板图标表示您可以将命令或编辑过的文件与提供的示例进行比较,以此验证其输出。
- 注意图标表示重要的提示、技巧、指导或建议。
- “i” 圆圈图标说明了在哪里查找更多信息。
- 带复选标记的人形图标表示有机会检查您的知识掌握程度并测试您学到的知识。