upload_fileobj的问题-ValueError:Fileobj必须实现读取

问题描述

尝试将文件添加到AWS S3时,我在使用upload_fileobj的Glue中遇到以下错误:

s3 = boto3.client('s3')
bytes  = BytesIO()
zf     = zipfile.ZipFile(bytes,"w")

for object_info in bucket.objects.filter(Prefix="stg/transfer/"):
    if object_info.key[-1] == "/":
        continue
    print(object_info.key)
    obj = bucket.Object(key=object_info.key)
    o = obj.get()
    data = o["Body"].read()
    name = object_info.key.split('/')[2] + date_str + '.csv'
    zf.writestr(name,data)
    print(o)
    
zf.close()
bytes.seek(0)
s3.upload_fileobj(bytes.getvalue(),bucket,key)


s3.upload_fileobj(bytes.getvalue(),bucket,key)文件“ /home/spark/.local/lib/python3.7/site-packages/boto3/s3/inject.py”,第525行,在upload_fileobj引发ValueError(“ Fileobj必须实现读取”)ValueError:Fileobj必须实现读取

有人知道导致错误的原因吗?预先感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)