def lambda_handler()

in src/blog-validate.py [0:0]


def lambda_handler(event, context):
    
    # SQS queue triggers this function. This reads the key-value from queue
    # validate the form elements and for successful validation it creates k-v CSV
    # file and uploads to S3 bucket. For invalid case it sends a SNS notification

    body = event['Records'][0]['body']

    try:    
        # Validate 
        res, formid, result = validate(body)
        print(result)
        filename = "result/" + (str(formid)).strip() + ".csv"
        if(res):
            # Convert to CSV and upload to S3 bucket
            convert_to_csv(body)
            resultbucket = os.environ['resultbucket']
            s3res = s3.Bucket(resultbucket).upload_file(TEMP_FILE, filename) 
            print(s3res)
        else :
            # Add to invalid queue and send message
            invalidqueue = os.environ['invalidqueue']
            msg = sqs_client.send_message(QueueUrl=invalidqueue,
                                      MessageBody=str(body)+result)
            print(msg)
            snsbody = "Content:" + str(body) + "Reason:" + str(result)
            # Notify
            invalidtopic = os.environ['invalidsns']
            response = sns.publish(
                TopicArn=invalidtopic,
                Message=str(snsbody))
    except Exception as e:
        print("Failed while doing validation")
        print(e.message)
        
    return {
        'statusCode': 200,
        'body': json.dumps('Success!')
    }