我正在设置一个Lambda函数,根据this script对RDS实例进行每日快照。我和Python3号的翻译一起跑。在
import boto3
import datetime
def lambda_handler(event, context):
print("Connecting to RDS")
client = boto3.client('rds')
# Instance to backup
dbInstances = ['testdb']
for dbInstance in dbInstances:
print("RDS snapshot backups started at %s...\n" % datetime.datetime.now())
client.create_db_snapshot(
DBInstanceIdentifier=dbInstance,
DBSnapshotIdentifier=dbInstance+'{}'.format(datetime.datetime.now().strftime("%y-%m-%d-%H")),
Tags=[
{
'Key': 'Name',
'Value': 'dbInstace'
},
]
)
for snapshot in client.describe_db_snapshots(DBInstanceIdentifier=dbInstance, MaxRecords=50)['DBSnapshots']:
createTs = snapshot['SnapshotCreateTime'].replace(tzinfo=None)
if createTs < datetime.datetime.now() - datetime.timedelta(days=30):
print("Deleting snapshot id:", snapshot['DBSnapshotIdentifier'])
client.delete_db_snapshot(
DBSnapshotIdentifier=snapshot['DBSnapshotIdentifier']
)
脚本确实可以创建快照;但是每次运行时我也会遇到这个错误,因此我认为它不能正确地删除快照。在
^{pr2}$问题似乎出在这条线上:
createTs = snapshot['SnapshotCreateTime'].replace(tzinfo=None)
为什么会这样?在
快照中的createdict仍然没有被填充,因为我在快照中没有返回错误。在
在这种情况下,百分比进度将小于100。在
相关问题 更多 >
编程相关推荐