import boto3 import pathlib import os LOGTYPE_ERROR = 'ERROR' LOGTYPE_INFO = 'INFO' LOGTYPE_DEBUG = 'DEBUG' def upload_file_using_client(bucket_name, bucket_prefix,object_name): """ Uploads file to S3 bucket using S3 client object :return: None """ s3 = boto3.client("s3") file_name = os.path.join(pathlib.Path(object_name).parent.resolve(), object_name) response = s3.upload_file(file_name, bucket_name, bucket_prefix + "/" + object_name) def logMessage(message, logType): try: logMessageDetails = constructMessageFormat(message, "", logType) if logType == "INFO" or logType == "ERROR": print(logMessageDetails) elif logType == "DEBUG": try: if os.environ.get('DEBUG') == "LOGTYPE": print(logMessageDetails) except KeyError: pass except Exception as ex: logMessageDetails = constructMessageFormat(message, "Error occurred at Batch_processor.logMessage" + str(ex), logType) print(logMessageDetails) def constructMessageFormat( message, additionalErrorDetails, logType): if additionalErrorDetails != "": return logType + ": " + message + " Additional Details - " + additionalErrorDetails else: return logType + ": " + message