У меня в корзине s3 есть несколько файлов, которые хранятся как файлы .GZ. Я использую boto3 для доступа к этому файлу и пытаюсь прочитать его содержимое.
Однако я продолжаю получать эту ошибку, когда запускаю свой код:
OSError: [Errno 9] read() on write-only GzipFile object
Здесь это мой код:
import boto3
import os
import json
from io import BytesIO
import gzip
from gzip import GzipFile
from datetime import datetime
import logging
import botocore
# AWS Bucket Info
BUCKET_NAME = '<my_bucket_name>'
#My bucket's key information to where the .GZ files are stored
key1 = 'my/path/to/file/shar1-jsonl.gz'
# key2 = 'my/path/to/file/shar2-jsonl.gz'
# key3 = 'my/path/to/file/shar3-jsonl.gz'
# Create s3 connection
s3_resource = boto3.resource('s3', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY)
zip_obj = s3_resource.Object(bucket_name=BUCKET_NAME, key=key1)
buffer = BytesIO(zip_obj.get()["Body"].read())
z = gzip.open(buffer,'wb').read().decode(('utf-8'))
Есть ли способ собрать файл jsonl.gz, а затем прочитать его содержимое с помощью boto3? Я новичок в файлах boto3 и gzip, поэтому любые идеи или предложения помогут