2017-08-24 1 views
0

Je suis en train de créer un snapshot RDS MySQL DB en utilisant la fonction aws lambda. Je veux créer un nom d'instantané db avec horodatage (pas de temps de création d'instantané). Exemple: Pour le code ci-dessous, j'attends 'mydb-2017-08-24-06-12' comme nom d'instantané db.Comment ajouter l'horodatage à une chaîne dans Python 2.7 dans aws lambda?

import boto3 
import datetime 

def lambda_handler(event, context): 
    client = boto3.client('rds') 
    i = datetime.datetime.now() 
    response = client.create_db_snapshot(
    DBSnapshotIdentifier="mydb" % (i), 
    DBInstanceIdentifier='mydb' 
) 

mais jeter ci-dessous erreur:
DBSnapshotIdentifier = "mydb" % (i),
TypeError: tous les arguments convertis au cours de formatage de chaîne

S'il vous plaît fournir tout type de solution pertinente pour moi .

Répondre

0

J'ai fixé mon code comme ceci:

import boto3 
import datetime 

def lambda_handler(event, context): 
    client = boto3.client('rds') 
    x = datetime.datetime.now().strftime("mydb-%Y-%m-%d-%H-%M-%S") 
    response = client.create_db_snapshot(
    DBSnapshotIdentifier= x, 
    DBInstanceIdentifier='mydb' 
) 
+0

Folks, j'ai écrit le code de solution à ma question. L'avantage de ce code est, il va créer l'instantané manuel à votre base de données. Les personnes AWS fournissent déjà des instantanés automatiques mais ceux-ci expireront après 35 jours. Si vous avez pris des instantanés manuels, ceux-ci n'expireront jamais. Veuillez me demander si vous avez des questions. – Raju