in Code/AuroraSLDataAPIDemo/aslbootstrap/aslbootstrap.py [0:0]
def handler(event, context):
"""
This function bootstraps Aurora MySQL Cluster
"""
responseData = {}
if event['RequestType'] == 'Create':
try:
#Get Secret
dbpass = get_secret(secret_arn,region_name)
logger.info("SUCCESS: Retrieved Secret successfully")
conn = pymysql.connect(db_host, user=user_name, passwd=dbpass, connect_timeout=60)
logger.info("SUCCESS: Connection to Aurora MySQL Serverless Cluster succeeded")
except Exception as e:
logger.error("ERROR: Unexpected error: Could not connect to Aurora MySQL Serverless Cluster")
logger.error('Exception: ' + str(e))
responseData['Data'] = "ERROR: Unexpected error: Couldn't connect to Aurora PostgreSQL instance."
cfnresponse.send(event, context, cfnresponse.SUCCESS, responseData, "None")
try:
with conn.cursor() as cur:
cur.execute("create database Demo")
cur.execute("create table Demo.Cities(City varchar(255))")
conn.commit()
logger.info("SUCCESS: Executed SQL statements successfully.")
responseData['Data'] = "SUCCESS: Executed SQL statements successfully."
cfnresponse.send(event, context, cfnresponse.SUCCESS, responseData, "None")
except Exception as e:
logger.error("ERROR: Unexpected error: Bootstrap of Aurora MySQL Serverless Cluster failed")
logger.error('Exception: ' + str(e))
responseData['Data'] = "ERROR: Unexpected error: Bootstrap of Aurora MySQL Serverless Cluster failed"
cfnresponse.send(event, context, cfnresponse.SUCCESS, responseData, "None")
else:
logger.info("{} is unsupported stack operation for this lambda function.".format(event['RequestType']))
responseData['Data'] = "{} is unsupported stack operation for this lambda function.".format(event['RequestType'])
cfnresponse.send(event, context, cfnresponse.SUCCESS, responseData, "None")