python aws botocore.response.потоковое тело в json

#python-3.x #amazon-web-services #amazon-s3 #boto3

Вопрос:

Я использую boto3 для загрузки файлов из S3, цель состоит в том, чтобы прочитать файлы и преобразовать их в JSON,Но проблема в том, что ни один из файлов не имеет расширения файла (no .csv,. json и т.д.), Хотя данные в файле структурированы как JSON

 client = boto3.client(
    's3',
    aws_access_key_id = 'AKEY',
    aws_secret_access_key = 'ASAKEY',
    region_name = 'us-east-1'
)
obj = client.get_object(
    Bucket = 'bucketname',
    Key = '*filename without extension*'
)
 

obj['Body'] возвращает <botocore.response.StreamingBody> объект

можно ли узнать содержащиеся в нем данные?

Ответ №1:

Продление не имеет значения. Предполагая, что ваш файл содержит допустимый json, вы можете получить его:

 my_json = json.loads(obj['Body'].read())
 

Комментарии:

1. Еще лучше my_json = json.load(obj['Body'])