我想用 python 将数据流式传输到 azure block blob。下面的代码创建了 blob,但以零字节结束。我怎样才能使它工作?
import io
import struct
from azure.storage.blob import BlockBlobService
storage = BlockBlobService('acct-xxx', 'key-xxx')
stream = io.BytesIO()
storage.create_blob_from_stream("mycontainer", "myblob", stream)
stream.write(struct.pack("d", 12.34))
stream.write(struct.pack("d", 56.78))
stream.close()
最佳答案
看来你错过了关键的代码行:
stream.seek(0)
我将流的 Position 属性
设置为 0,然后您的代码就可以工作了。
import io
import struct
from azure.storage.blob import BlockBlobService
storage = BlockBlobService('acct-xxx', 'key-xxx')
stream = io.BytesIO()
stream.write(struct.pack("d", 12.34))
stream.write(struct.pack("d", 56.78))
stream.seek(0)
storage.create_blob_from_stream("mycontainer", "myblob", stream)
stream.close()
你可以引用这个帖子Azure storage: Uploaded files with size zero bytes .
关于python - 如何将数据流式传输到 python 中的 azure block blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46243969/