The following python code uses boto3 library to download a file from S3, convert it to a string, and return it to the calling function. This example uses UTF-8 decoding.
import boto3
def download_file(bucket, key):
print("aws.s3.download_file: " + bucket + " | " + key)
#use default credentials
s3_client = boto3.client('s3')
#use aws credentials
# session = boto3.Session(
# aws_access_key_id="MY_ACCESS_KEY",
# aws_secret_access_key="MY_SECRET_KEY")
# s3_client = session.client('s3')
#use aws profile
# session = boto3.Session(profile_name='my_profile_name')
# s3_client = session.client('s3')
s3_response = s3_client.get_object(Bucket=bucket, Key=key)
# print(s3_response)
raw_string = s3_response['Body'].read()
# print(raw_string)
utf_8_string = raw_string.decode("utf-8")
#alt decoding
#utf_8_string = raw_string.decode("ISO-8859-1")
#print(utf_8_string)
# strip whitespace
utf_8_string = utf_8_string.strip()
#print(utf_8_string)
return(utf_8_string)