【问题标题】:How to upload password protected in-memory zip file to S3-bucket如何将受密码保护的内存中 zip 文件上传到 S3 存储桶
【发布时间】:2023-01-03 12:54:39
【问题描述】:

我正在尝试将内存中的 zip 文件上传到 S3 存储桶压缩文件Python包但是设置密码()不管用

import csv
import zipfile
import io

#S3 凭据连接

s3 = boto3.resource('s3', endpoint_url='',
  aws_access_key_id = '',
  aws_secret_access_key = '')

#将csv写入缓冲区,df数据帧

buffer_string_csv = io.StringIO()
df.to_csv(buffer_string_csv)

#在缓冲区中写入zip

buffer_zip = io.BytesIO()
zip_file = zipfile.ZipFile(buffer_zip, 'w')
zip_file.setpassword(b'123')
zip_file.writestr('foobar.csv', buffer_string_csv.getvalue())
zip_file.close()
s3.Bucket('QAS').put_object(Body = buffer_zip.getvalue(),  Key = 'foobar.zip')

还有其他方法可以解决这个问题吗?

【问题讨论】:

标签: python amazon-s3


【解决方案1】:

代替压缩文件我用的包拉链包,它解决了我的问题。

zip_file = pyzipper.AESZipFile(buffer_zip, 'w',
                         compression=pyzipper.ZIP_LZMA,
                         encryption=pyzipper.WZ_AES)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 2020-01-18
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多