12

我对blob有点困惑。我读过一些文章说有两种 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(); // ??

CloudBlob一个CloudBlockBlob还是一个CloudPageBlock?哪些约束适用?当我使用该参考时,我是否需要担心文件大小并放置块或页面?

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

4

2 回答 2

16

GetBlobReference给你一个CloudBlob对象。这可以代表任何一种 blob。.ToPageBloband属性将.ToBlockBlob有助于转换对象,但这与存在的 blob 的类型无关。存在的 blob 属于一种类型或另一种类型,在创建时指定。

如果您调用.Create一个CloudPageBlob对象,这将导致在 Windows Azure 中创建一个页 blob。

如果您调用.UploadText()一个BlockBlobObject(或一个通用CloudBlob对象),这将导致在 Windows Azure 中创建一个块 blob。

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

于 2011-02-04T01:36:20.943 回答
2

当您使用通用 CloudBlob 对象时,它似乎总是在 Azure 上创建一个块 blob。但是,您可以使用该类从存储中检索块 blob 和页 blob。

于 2011-02-04T00:24:34.820 回答