AWS S3 получить объект не читает весь файл - PullRequest
0 голосов
/ 23 февраля 2019

Я читаю объект S3, содержащий текст JSON.Это работало нормально для небольшого количества элементов, таких как 4.

После того, как он немного вырос (я имею в виду менее 1 МБ общего размера файла!) Файл нарезан.

Я думал, get_object метод дает весь объект.Что мне не хватает, что весь объект не читается.

 s3client=boto3.client('s3',config=Config(signature_version='s3v4'))
 Obj = s3client.get_object(Bucket=x, Key=y)
 jobStream=Obj['Body'].read().decode('utf-8')
 jsonObj=json.loads(jobStream)
 print(json.dumps(jsonObj,indent=2))

JSON сформирован правильно ... Выходные данные усекаются случайным образом.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Проигнорируйте, я загружал неправильный файл, я был в неправильном каталоге

0 голосов
/ 23 февраля 2019

Мои потенциальные предложения будут следующими:

  1. Похоже на то, что у вас уже есть

    s3client=boto3.client('s3',config=Config(signature_version='s3v4'))
    Obj = s3client.get_object(Bucket=x, Key=y)
    text=Obj["Body"].read().decode()
    print(text['anything']) # Use your desired JSON Key for your value
    
  2. Получить файл с объектом

    s3 = boto3.resource('s3')
    content_object = s3.Object('test', 'sample_json.txt')
    file_content = content_object.get()['Body'].read().decode('utf-8')
    json_content = json.loads(file_content)
    print(json_content['anything']) # Use your desired JSON Key for your value
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...