gpt4 book ai didi

c# - 各种 NuGet 包中的 Azure CloudStorageAccount 命名空间冲突以及迁移到较新的 Azure SDK

转载 作者:行者123 更新时间:2023-12-03 17:11:32 25 4
gpt4 key购买 nike

我知道我参加这个聚会可能有点晚了,但仍然感到困惑。

我们多年来一直使用 NuGet 包 WindowsAzure.Storage在 .Net 上下文中并使用 .Net Azure SDK 来处理 Blob、表和队列。

在我们开发的许多 Azure Web 应用程序的最低级别共享代码中,我们有一种缓存 CloudStorageAccount 的模式。我们用来获取这些存储实体所需的各种客户端。我们使用以下 C# 代码获取该存储帐户:

    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);

“storageAccount”已被缓存,我们在整个应用程序中使用它来访问各种存储客户端,即 CloudBlobClient , CloudTableClient ,和CloudQueueClient ,像这样:

    CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

这些客户端也被缓存,但这可能与这个问题无关。

Microsoft 似乎鼓励(尽管可能没有任何弃用警告?)迁移到较新的 SDK,这些 SDK 位于 Microsoft.Azure.Storage.Xxxxxx 中的 NuGet 包中和/或Azure.Storage.Xxxxxxx ,但这些 NuGet 包层次结构不支持表,只支持 Blob 和队列(以及文件,我当前没有使用)。

表似乎位于不同的层次结构中,即 Microsoft.Azure.Cosmos.Table .

但是类型 CloudStorageAccount 似乎存在命名空间冲突Microsoft.Azure.Cosmos.Table 中的一个声明类型之间另一个在 Microsoft.Azure.Storage.Common 中以相同的名称声明。

然后是更新的 Azure.Storage.Xxxxxxxx图书馆似乎不支持表格。

当然,我可以为类型添加别名或始终完全指定它们,但这意味着我必须重写我的缓存代码(不是世界末日),但是整个练习的一部分让我想知道我是否我缺少这些不同存储实体的性质中的一些关键的重要概念。我也很犹豫,因为我似乎可能会破坏一些第三方依赖项。所以整个问题看起来真的很棘手。

我非常感谢任何概念性理解、综合学习文档的指针、代码示例、建议或解释。表对我们来说很关键,但我怀疑我们是否会很快转向新的 Cosmos DB 表。

最佳答案

这可能不是您正在寻找的答案,但我们最近一直在关注此软件包更新 - 我们可能是这里的幸运儿,但表面上是新软件包 Microsoft.Azure.Cosmos .Table 具有与旧的 WindowsAzure.Storage.Table 相同的方法/签名(我坚信他们实际上只是按原样 fork 了所有代码)。我们所要做的就是卸载旧的 nuget 包,安装新的,然后在所有解决方案中将 using Microsoft.WindowsAzure.Storage.Table 行替换为 using Microsoft.Azure。 Cosmos.Table,它就像一个魅力。

您根本不必使用 Cosmos DB,它只是在包的名称中,但它仍然可以完美地工作/连接到常规存储帐户。

可以在此处找到 Microsoft 决定迁移的一些(尽管非常模糊)信息:https://azure.microsoft.com/en-us/blog/previewing-azure-sdks-following-new-azure-sdk-api-standards/ .

关于c# - 各种 NuGet 包中的 Azure CloudStorageAccount 命名空间冲突以及迁移到较新的 Azure SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62394192/

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