我刚刚开始了解Azure Blob存储。我遇到了多种上传和下载数据的方法。一件事使我困惑何时使用什么。
我主要对PutBlockAsync
和PutBlockListAsync
和UploadFromStreamAsync
感兴趣。
据我了解,使用PutBlockAsync
时,取决于用户将数据分成多个块,并确保每个块都在Azure块blob大小限制内。与每个上载的块相关联的ID。最后,所有ID都已提交。
使用UploadFromStreamAsync时,该如何工作?谁负责分块数据并上传。
为什么不将数据转换为Stream并始终使用UploadFromStreamAsync
并避免两次提交?
答案 0 :(得分:1)
您可以使用提琴手,观察使用UploadFromStreamAsync
时会发生什么。
如果文件较大(大于256MB),例如500MB,则在后台调用Put Block和Put Block List api(在使用PutBlockAsync
和{时也会被调用{1}}方法)
如果文件小于256MB,则文件(PutBlockListAsync
)将在后台调用Put Blob api。
我使用UploadFromStreamAsync
并上传一个大小为600MB的文件,然后打开该文件。
以下是关于异教徒的一些发现:
1。大文件被一一分成小文件(4MB),并在后台调用UploadFromStreamAsync
api:
2。最后,Put Block
api将被称为: