Загрузить 0 байтовый файл в Amazon S3
Можно ли загрузить 0-байтовый файл в Amazon S3? Мой стандартный ответ был бы запрещать это, но у меня есть сайт, который хотел бы разрешить пользователям загружать пустые файлы.txt, размер которых составляет 0 байт.
Amazon возвращает неправильный XML-ответ:
<Error>
<Code>MalformedXML</Code>
<Message>The XML you provided was not well-formed or did not validate against our published schema</Message>
<RequestId>234...</RequestId>
<HostId>2309fsdijflsd...w32r09s</HostId>
</Error>
Я использую boto==2.3.0 с Flask==0.8
1 ответ
Решение
Да, это возможно.
>>> import boto
>>> c = boto.connect_s3()
>>> b = c.lookup('mybucket')
>>> k = b.new_key('empty')
>>> k.set_contents_from_string('')
>>> for k in b:
print k.name, k.size
...
empty 0
...
>>>
По крайней мере, это работает для меня. Ошибка, которую вы получаете, предполагает, что что-то еще идет не так.