gpt4 book ai didi

azure - 使用 Azure SDK v1.8 创建的 Blob 是页 Blob 还是 block Blob?

转载 作者:行者123 更新时间:2023-12-03 04:51:50 34 4
gpt4 key购买 nike

我们当前的代码使用 Azure SDK 1.8,为了生成共享访问签名,它将首先调用 CloudBlobContainer.GetBlobReference(),然后调用 CloudBlob.GetSharedAccessSignature()。其他操作也是如此 - 首先是 CloudBlobContainer.GetBlobReference(),然后是对 blob 对象进行一些操作。

代码从未明确要求创建 block bob 或页面 blob - 仅“只是 blob”。

现在我们需要迁移到 Azure SDK v2.4。界面发生了很大变化。现在有

  • CloudBlobContainer.GetBlobReferenceFromServer(),
  • CloudBlobContainer.GetBlockBlobReference()
  • CloudBlobContainer.GetPageBlobReference()

而且它们看起来非常相似。我们的存储中已经有很多 blob,并且宁愿保持它们不变。

那么我们使用这三个中的哪一个呢?我们是否将之前创建的 blob 视为 block blob 还是页 blob?

最佳答案

Are blobs created with Azure SDK v1.8 page blobs or block blobs?

如果您将它们创建为页面 blob,那么它们将是页面 blob,否则将是 block blob。 block 和页 blob 的概念从一开始就已经存在,并且并不新鲜。

您可以使用任何存储资源管理器来检查存储帐户中是否有任何页面 blob。另一种方法是快速搜索 PageBlob在您的代码中。

Difference between CloudBlobContainer.GetBlobReferenceFromServer() and CloudBlobContainer.Get[Block|Page]BlobReference()

GetBlobReferenceFromServer之间最大的区别和Get[Block|Page]BlobReference是前者调用存储服务来识别 blob 类型,而后者只是创建 Cloud[Block|Page]Blob 的实例客户端上的对象。如果 blob 不存在,前者将引发错误,但后者不会,因为尚未与服务器进行交互。通常,当您不知道 blob 类型并且不介意仅为了确保 blob 类型而进行额外的网络调用时,您会使用前者。

Do you really need to know the blob type?

答案取决于您尝试执行的操作类型。有些操作只能在页 blob 上执行,而在 block blob 上执行这些操作将引发错误,反之亦然。此外,某些操作可以针对页面 blob 进行优化(例如下载页面 blob)。提前了解 blob 类型可能会对您有所帮助。

关于azure - 使用 Azure SDK v1.8 创建的 Blob 是页 Blob 还是 block Blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28042167/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com