这是个好问题。不幸的是,我没有看到上传任意大文件的真正实现。因此,据我所见,Python SDK 还有很多工作要做,除非我遗漏了一些非常重要的东西。
文档中提供的示例代码确实只使用了一个文本文件并立即上传。目前还没有真正的代码实现(从我在SDK Source code 中看到的)来支持更大文件的上传。
因此,对于您而言,要使用 Python 中的 Blob,您需要了解 Azure Blob 存储的工作原理。 Start here.
然后快速查看PutBlob operation 的 REST API 文档。备注中提到:
块 blob 的最大上传大小为 64 MB。如果你的 blob 是
大于 64 MB,您必须将其作为一组块上传。更多
信息,请参阅放置块 (REST API) 和放置块列表 (REST
API) 操作。如果您上传
blob 作为一组块。
好消息是 PutBlock 和 PutBlockList 是在 Python SDK 中实现的,但没有提供如何使用它的示例。您需要做的是手动将文件拆分为每个最多 4 MB 的块(块)。然后使用 python SDK 中的put_block(self, container_name, blob_name, block, blockid, content_md5=None, x_ms_lease_id=None): 函数上传块。最终,您将并行上传块。但是不要忘记,您还必须在最后执行 put_block_list(self, container_name, blob_name, block_list, content_md5=None, x_ms_blob_cache_control=None... 以提交所有上传的块。
很遗憾,我不是 Python 专家,无法进一步帮助您,但至少我可以很好地了解情况。