У меня есть несколько файлов в корзине S3, и я пытаюсь прочитать их как можно быстрее. Формат файла gzip, и внутри него есть один мультиобъектный json файл, подобный этому:
{"id":"test1", "created":"2020-01-01", "lastUpdated":"2020-01-01T00:00:00.000Z"}
{"id":"test2", "created":"2020-01-01", "lastUpdated":"2020-01-01T00:00:00.000Z"}
Что я хочу сделать, это загрузить файл json и прочитать каждый объект и процесс Это. После некоторых исследований это единственный код, который сработал для меня
import json
import gzip
import boto3
from io import BytesIO
s3 = boto3.resource('s3')
bucket = s3.Bucket("my-bucket")
for obj in bucket.objects.filter(Prefix='my-prefix').all():
buffer = BytesIO(obj.get()['Body'].read())
gzipfile = gzip.GzipFile(fileobj=buffer)
for line in gzipfile:
json_object = json.loads(line)
# some stuff with the json_object
Кто-нибудь знает лучший способ прочитать объект json?
Спасибо за помощь