创建可以处理多个队列的 Azure.Storage.Queues 客户端

Posted

技术标签:

【中文标题】创建可以处理多个队列的 Azure.Storage.Queues 客户端【英文标题】:Creating a Azure.Storage.Queues client that can handle multiple queues 【发布时间】:2021-03-01 09:18:06 【问题描述】:

我正在将我的代码从 Microsoft.WindowsAzure.Storage.Queue 迁移到 Azure.Storage.Queues。在我的应用程序中,我将我使用的所有队列操作包装在 MyQueueClient 类中。创建队列客户端的旧方法如下:

CloudStorageAccount account = CloudStorageAccount.Parse(ConnectionString);
CloudQueueClient client = account.CreateCloudQueueClient();

因为我有多个队列,所以这种方法对我来说效果很好。在新方法中,看起来我需要将队列名称作为参数之一传递来创建队列客户端——请参阅文档:https://docs.microsoft.com/en-us/azure/storage/queues/storage-dotnet-how-to-use-queues?tabs=dotnet#create-the-queue-service-client

QueueClient queueClient = new QueueClient(connectionString, queueName);

所以,我在这里有点困惑。这是否意味着,我必须为我使用的每个队列创建一个单独的队列客户端?比如说,我有 3 个队列,这是否意味着我必须创建 3 个队列客户端?似乎没有意义。我在这里错过了什么?

【问题讨论】:

【参考方案1】:

您可以使用下面的代码:

        QueueServiceClient queueServiceClient = new QueueServiceClient(connectionString);

那么您可以使用基于queueServiceClient的方法(注意,与旧方法相比,它可能有一些限制)。

【讨论】:

感谢您也帮我解决这个问题 :-)

以上是关于创建可以处理多个队列的 Azure.Storage.Queues 客户端的主要内容,如果未能解决你的问题,请参考以下文章

切换到 Azure.Storage.Queues 后 Azure 函数中的模型绑定问题

版本 12+ 中是不是有 Azure.Storage.Queue 的 ContinuationToken

Azure Storage用法:使用Blob Storage

Azure 存储队列 - 重试机制实现

浅谈Azure Storage的安全性

使用SAS保护Azure Storage的安全性