我最近一直在学习 Azure,我发现有 2 个用于处理 blob 的类:
CloudBlobClient
和 BlobClient
。
CloudBlobClient
来自 Microsoft.Azure.Storage.Blob;
命名空间,而 BlobClient
来自 Azure.Storage.Blobs
命名空间。
它们有什么区别? 您什么时候会使用其中一种而不是另一种?
包 Azure.Storage.Blobs 是 Azure Blob 存储的最新版本,Microsoft.Azure.Storage.Blob 是旧版本。
因此我们建议您始终使用最新软件包中的
BlobClient
。但是如果您有一些使用旧包的旧项目,那么在这种情况下,您可以使用CloudBlobClient
。
Azure.Storage.Blobs
是 Azure Blob 存储服务的 Nuget 包的新版本。 Microsoft.Azure.Storage.Blob
是旧版本。
包括
CloudBlobClient
在内的一些类在新版本中已被重命名。 CloudBlobClient
已重命名为 BlobServiceClient
。
下页显示了重命名的类列表以及升级到新版本的示例代码。
https://elcamino.cloud/articles/2020-03-30-azure-storage-blobs-net-sdk-v12-upgrade-guide-and-tips.html
如前所述,
Microsoft.Azure.Storage.Blob
是较旧的 SDK 版本 11,而 Azure.Storage.Blobs
从 SDK 版本 12 开始。
一个关键的区别是新的 SDK 不允许设置权限。
但是,创建
BlobServiceClient
的实例并不需要像 CloudStorageAccount
那样创建中间 CloudBlobClient
对象。只需向 BlobServiceClient
的构造函数提供连接字符串就足以创建此对象。