我想将一个字符串(这是一个xml响应)放入一个文件中,然后将其上传到amazon s3存储桶。以下是我在Python3中的功能
def excess_data(user, resume):
res_data = BytesIO(bytes(resume, "UTF-8"))
file_name = 'name_of_file/{}_resume.xml'.format(user.id)
s3 = S3Storage(bucket="Name of bucket", endpoint='s3-us-west-2.amazonaws.com')
response = s3.save(file_name, res_data)
url = s3.url(file_name)
print(url)
print(response)
return get_bytes_from_url(url)
然而,当我运行此脚本时,我一直收到错误 - AttributeError: Unable to determine the file's size.
知道如何解决此问题吗?
提前致谢!
答案 0 :(得分:2)
我在我的Django项目中使用s3boto(需要python-boto)来连接S3。
使用boto很容易做你想做的事情:
>>> from boto.s3.key import Key
>>> k = Key(bucket)
>>> k.key = 'foobar'
>>> k.set_contents_from_string('This is a test of S3')
请参阅此documentation存储数据部分。
我希望它有助于解决您的问题。