我有点困惑。我读过一些文章,说有两种Blob,块和页面,但是我可以在SDK的库中看到第三种:

container.GetBlockBlobReference(); // Block Blob, max 64Mb per block,  max 200Gb in total.
container.GetPageBlobReference(); // Page Blob, aligned to 512bytes pages,  max 1Tb in total.
container.GetBlobReference(); // ??
CloudBlobCloudBlockBlob还是CloudPageBlock?哪些约束适用?使用该引用时,我是否需要担心文件大小并放入块或页面?

我一直在阅读MSDN,但找不到哪一个。

最佳答案

GetBlobReference返回一个CloudBlob对象。这可以代表任何一种Blob。 .ToPageBlob.ToBlockBlob属性将有助于强制转换对象,但这与存在的Blob的类型无关。存在的Blob是创建时指定的一种类型或另一种类型。

如果在.Create对象上调用CloudPageBlob,将导致在Windows Azure中创建页面Blob。

如果在.UploadText()(或通用BlockBlobObject对象)上调用CloudBlob,则将导致在Windows Azure中创建块Blob。

换句话说,GetBlobReference为您返回对Blob(而不是任何一种类型)的通用引用。

关于Azure存储Blob : what kind of blob do I get with GetBlobReference()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4893210/

10-10 16:47