亚马逊 RDS python 博托

Amazon RDS python boto

目前我正在编写 Python 脚本来创建 RDS 和快照并将快照复制到另一个区域。

当我将快照复制到另一个区域时,它正在同一区域创建。

这是我要复制的代码。

con = boto3.client('rds','us-west-2')
               print "connected to us-west"
               ec.copy_db_snapshot(SourceDBSnapshotIdentifier='chris-snap',TargetDBSnapshotIdentifier= 'chris-copy-snap',SourceRegion='us-east-1')

要尝试的事情:

在您的 boto3.client() 电话中明确说明地区:

con = boto3.client('rds', region_name='us-west-2')

"ec"从哪里来的?您将 RDS 服务设置为 "con",因此它应该是 con.

根据 Boto3 文档:

If the source snapshot is in a different AWS Region than the copy, specify a valid DB snapshot ARN.

用 ARN 替换 'chris-snap'

您的代码中有两个错误。

 ec.copy_db_snapshot(SourceDBSnapshotIdentifier='chris-snap',TargetDBSnapshotIdentifier= 'chris-copy-snap',SourceRegion='us-east-1'
  1. 第二个连接未声明或使用了不正确的名称
  2. 跨区域复制快照时,不能使用快照标识符,必须使用快照ARN。

此 link 包含一种使用 Cloud Watch Events 在创建自动快照时触发 lambda 函数的方法。快照会立即跨区域复制。

https://geektopia.tech/post.php?blogpost=Automating_The_Cross_Region_Copy_Of_RDS_Snapshots