如何上传内存zip文件到S3斗

问题描述 投票:3回答:1

我想上传一个内存中的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 - 操作不允许”

我想这是因为我没有在第一时间正确上传文件。任何帮助表示赞赏:)

python amazon-web-services amazon-s3 boto3
1个回答
0
投票

当寻找Error 1 - operation not permitted.错误在线,看起来可能是一个Mac-os打开zip文件的问题?

尝试打开该文件不同?

© www.soinside.com 2019 - 2024. All rights reserved.