Я пытаюсь загрузить zip-файл в памяти в S3-корзину (чтобы избежать временных файлов на моем сервере).
Вот мой код:
import zipfile
import io
zip_bytes_io = io.BytesIO()
zip_archive = zipfile.ZipFile(zip_bytes_io, mode='a',
compression=zipfile.ZIP_DEFLATED)
zip_archive.writestr('test.txt', b'My string')
s3_client = boto3.client('s3')
zip_bytes_io.seek(0) # So that bytes are read from beginning
s3_client.upload_fileobj(zip_bytes_io, test_bucket, 'test.zip')
Когда я запускаю приведенный выше код, он загружает файл в корзину S3.Однако, когда я загружаю файл, я не могу разархивировать его.Я получаю сообщение об ошибке: «Ошибка 1 - операция не разрешена».
Я предполагаю, что это потому, что я неправильно загружаю файл.Любая помощь приветствуется:)