假设您想要备份其中一个 DynamoDB 表 每一天。我们还希望将备份保留指定的时间段 time. 实现此目的的一个简单方法是使用 Amazon CloudWatch Events 每天触发 AWS Lambda 函数的规则。在这个 AWS 实践实验室中, 您将使用 Boto3 在 Python 中编写 Lambda 函数 库。设置此功能需要配置 IAM 角色、设置 CloudWatch 规则,并创建 Lambda 函数。
创建 DynamoDB 表
您当然可以使用您帐户中的任何 DynamoDB 表 对于本练习,但如果您想使用 AWS CLI 创建一个,您 可以使用以下命令:
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
这将创建一个名为 Person 的 DynamoDB 表,并带有主键 id。
创建 IAM 执行角色
所有 Lambda 函数都需要一个 IAM 角色来定义 授予它的权限。这称为 Lambda 函数的执行角色。首先, 我们将逐步完成为 Lambda 编写 IAM 角色的过程 函数并创建 Lambda 函数本身。我们将使用 AWS 此任务的管理控制台:
- 导航到 IAM。
- 导航到策略。
- 单击创建策略.
- 选择 JSON 选项卡。
- 将默认内容替换为以下 JSON 语句:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:*:*:*" }, { "Action":[ "dynamodb:CreateBackup", "dynamodb:DeleteBackup", "dynamodb:ListBackups" ], "Effect":"Allow", "Resource":"*" } ]}
该语句授予两组权限。首先,它授予 能够记录到 CloudWatch Logs。有了这个权限,任何Python print() 语句将显示在CloudWatch Logs中。其次,我们授予权限 用于 Lambda 函数创建、列出和删除 DynamoDB 备份 所有表。
- 单击查看策略。
- 将此策略命名为 LambdaBackupDynamoDBPolicy。
- 单击创建策略。
现在已创建策略,您必须创建一个附加此策略的角色。
- 在 IAM 中,导航到角色。
- 单击创建角色。
- 选择受信任实体的类型:AWS 服务。
- 选择将使用此角色的服务:Lambda。
- 单击“下一步:权限”。
- 在搜索框中,找到在上一步中创建的 LambdaBackupDynamoDBPolicy。
- 选中复选框
- 单击下一步:标签。
- 单击下一步:审核。
- 角色名称:LambdaBackupDynamoDBRole。
- 单击创建角色。
创建 Lambda 函数
让我们创建我们的 Lambda 函数!
- 导航到 Lambda。
- 单击创建函数。
- 从头开始选择作者。
- 函数名称:BackupDynamoDB。
- 运行时:Python 3.7。
- 在“权限”下,选择“选择或创建执行角色”。
- 在“执行角色”下,选择“使用现有角色”。
- 在“现有”下Role,选择上一步创建的 LambdaBackupDynamoDBRole。
- 单击创建函数。
将以下源代码粘贴到 Lambda 中函数的代码编辑器:单击屏幕右上角的保存。
创建 CloudWatch 规则
接下来,我们将创建一个 CloudWatch 规则来安排 Lambda 函数定期运行。这将执行以下备份 DynamoDB 表并删除过时的备份。
- 导航到 CloudWatch。
- 导航到事件 > 规则。
- 点击创建规则。
- 安排事件以所需的时间间隔运行(例如,每 1 天)。
- 点击添加目标。
- 在 Lambda 函数下,选择 BackupDynamoDB。
- 在配置输入下,选择常量(JSON 文本)。
- 将值设置为 JSON 语句:
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
- 单击配置详细信息。
- 名称:每日备份DynamoDB(或您喜欢的任何内容)。
- 单击创建规则。
- 等待 让 CloudWatch 规则触发您的下一个备份作业 已安排。如果你像我一样不耐烦的话,你可以设定时间表 将间隔设置为 1 分钟,您会看到它运行得更快。
- 使用 CloudWatch Logs 验证计划的备份作业运行。日志组将命名为 /aws/lambda/BackupDynamoDB,每次调用都有一个流。
- 验证 DynamoDB 备份列表中是否存在备份文件。
以上是使用 Lambda、Python 和 Boto3 安排 Amazon DynamoDB 备份的详细内容。更多信息请关注PHP中文网其他相关文章!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver CS6
视觉化网页开发工具