首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过代码创建Azure ServiceBus队列

通过代码创建Azure ServiceBus队列
EN

Stack Overflow用户
提问于 2019-04-12 03:20:29
回答 5查看 5.1K关注 0票数 12

抱歉,我对Azure不熟悉。我使用这个教程通过Azure门户创建了一个服务总线和队列。

我可以从队列中写和读。问题是,要部署到下一个环境,我必须更新ARM模板以添加新队列或在代码中创建队列。我无法在下一个环境中通过门户创建队列。

我选择了后者:检查队列是否存在,并根据需要通过代码创建队列。我已经为CloudQueueClient (在Microsoft.WindowsAzure.Storage.Queue命名空间中)提供了一个实现。这使用CloudStorageAccount实体来创建CloudQueueClient,如果它不存在的话。

我希望事情会这么简单,但看起来并非如此。我很难找到一种方法来创建一个QueueClint (在Microsoft.Azure.ServiceBus名称空间中)。我所拥有的只是服务总线连接字符串和队列名称,但是在浏览了Microsoft之后,有关于进程中涉及NamespaceManagerMessagingFactory (位于不同名称空间中)的讨论。

谁能指点我如何实现这一目标,更重要的是,这是正确的做法吗?我将使用DI实例化队列,因此检查/创建只能执行一次。

对于服务总线队列,而不是存储帐户队列,需要解决方案。这里概述的差异

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-04-16 06:47:54

肖恩·费尔德曼的回答为我指明了正确的方向。所需的主要nuget包/命名空间(.net核心)是

  • Microsoft.Azure.ServiceBus
  • Microsoft.Azure.ServiceBus.Management

这是我的解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private readonly Lazy<Task<QueueClient>> asyncClient;
private readonly QueueClient client;`
  
public MessageBusService(string connectionString, string queueName)
{
    asyncClient = new Lazy<Task<QueueClient>>(async () =>
    {
        var managementClient = new ManagementClient(connectionString);

        var allQueues = await managementClient.GetQueuesAsync();

        var foundQueue = allQueues.Where(q => q.Path == queueName.ToLower()).SingleOrDefault();

        if (foundQueue == null)
        {
            await managementClient.CreateQueueAsync(queueName);//add queue desciption properties
        }


        return new QueueClient(connectionString, queueName);
    });

    client = asyncClient.Value.Result; 
}

不是最容易找到的东西,但希望它能帮到别人。

票数 21
EN

Stack Overflow用户

发布于 2019-04-12 17:09:19

要使用新的客户端Microsoft.Azure.ServiceBus创建实体,需要通过创建实例和调用CreateQueueAsync()来使用ManagemnetClient

票数 5
EN

Stack Overflow用户

发布于 2022-10-19 08:49:40

接受的答案中的Microsoft.Azure.ServiceBus nuget包现在被废弃了。要使用Azure.Messaging.ServiceBus包,您想要的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using Azure.Messaging.ServiceBus.Administration;

var client = new ServiceBusAdministrationClient(connectionString);

if (!await client.QueueExistsAsync(queueName))
{
    await client.CreateQueueAsync(queueName);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55650497

复制
相关文章
删除 Typora 的红点字符 u200b
在 Typora 中经常能感受到不正常的格式显示,查看源码总能看到红点,问题大多出在这里,本文记录删除红点的方法。 问题描述 网页的文字复制到 Typora 可能会显示红点: 这个字符是 U+200B 是一个零宽度的空格字符,看不见但是很影响格式显示。 Python 删除 示例代码: import mtutils as mt file_name = 'test.md' res = mt.file_read_lines(file_name) new_line_list = list() for
为为为什么
2023/04/22
6790
删除 Typora 的红点字符 u200b
用于从字符串中删除最后一个指定字符的 Python 程序
文本数据操作和处理可以从使用 Python 程序中受益,该程序将从字符串中消除最后一个指定的字符。此类应用程序可用于通过删除特定字符来修改数据,通过删除不正确的字符来验证用户输入,以及通过删除不需要的字符来清理文本。在 Python 中,我们有一些字符串内置函数,如 rstrip(),可以从字符串中删除最后一个指定的字符。切片技术是从末尾删除字符的更简单方法。
很酷的站长
2023/08/11
5050
用于从字符串中删除最后一个指定字符的 Python 程序
php如何删除指定字符[通俗易懂]
php删除指定字符的方法:首先创建一个PHP示例文件;然后通过“strreplace(array(“”,”=”,”+”),””,$str);”删除指定字符;最后通过echo输出结果即可。 php删
用户8099761
2023/05/11
1.6K0
js去除字符串最后一个指定字符
具体实现代码如下: function delLast(str, target) { return str.split('').reverse().join('').replace(target, '').split('').reverse().join(''); } const str = delLast('asdfghhj', 'h') console.log(str) // asdfghj
IT工作者
2021/12/28
2.8K0
js去除字符串最后一个字符
第四种 最简单的解决方案是使用字符串的slice()方法,传递两个参数。实现代码如下:
IT工作者
2022/01/24
6.1K0
golang 字符串 去除最后一个字符
1.最后一个字符是 已知 情况package main import ( "fmt" "strings") func main() { s := "333," strings.TrimRight(s, ",") fmt.Println(s) s = strings.TrimRight(s, ",") fmt.Println(s)}运行结果:333,3332.最后一个字符是 未知 情况package main import "fmt" func main() {
IT工作者
2022/07/29
2.7K0
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53675660
大黄大黄大黄
2018/09/14
2.3K0
js算法之删除数组最后一个元素
function truncate(arr) { var arr1=arr.slice(0,arr.length-1); return arr1; } 思路:先截取出来除了最
贵哥的编程之路
2021/03/26
5K0
js算法之删除数组最后一个元素
字符串最后一个单词长度
题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 输入一行,代表要计算的字符串,非空,长度小于5000。 输出描述: 输出一个整数,表示输入字符串最后一个单词的长度。 示例1 输入 hello nowcoder 输出 8 解法: scanf()函数,如果转换说明是%s的话,他的读取规则是,“读取除空白以外的所有字符串”。scanf()函数跳过空白开始读取第一个非空白字符,并保存非空白字符直到再次遇到空白字符。也就是说!!!!scanf()函数根据%s转换说明读取一个单词!!! EOF,E
且陶陶
2023/04/12
6060
最后,抄底12小时。。。
建议大家一定读到最后。 1 最后12小时了 当你看到这篇文章时,我们社群2月活动已经接近尾声了,应该不到最后的12 个小时了。 其实 2 月的活动,已经超出了我们之前设定的目标,所以写这篇文章的时候心态比较淡定。 但是我还是想,在最后的这几个小时,再全面的给大家介绍一下,我们的社群是做什么的。 因为,如果你真的感兴趣的话,2月过完我们就涨价了。 我们的社群叫《就聊挣钱》,从 4 年前最初的 100 人,到现在星球累计已经超过了 6300 人。 我是一个很直接的人,从社群的名称大家也可以看出来,这个社群的目
纯洁的微笑
2022/03/04
4400
mysql截取最后一个字符_sql截取最后一位
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有mid(), substr()。其中,mid(), substr()等价于substring()函数,substring()的功能非常强大和灵活。
全栈程序员站长
2022/11/11
6.5K0
【备忘录】c++ 整形浮点<=>字符串 类型转换
一、C风格字符串 1.<stdlib.h>中的转换函数  atoi atol atoll itoa ltoa ultoa lltoa atof ecvt fcvt gcvt strtol strtoul strtoll strtod 2. sprintf  sscanf (功能更强大) 二、std::string 1.标准库转换函数  (using namespace std;) to_string stoi stol stoul stoll stoul stof stod stold 2.字符串流
ApacheCN_飞龙
2022/11/27
4610
ReverseFind的用法 ; 查找字符中最后一个字符
  int ReverseFind( TCHAR ch ) const;
全栈程序员站长
2022/09/07
7480
【说站】python如何删除字符串的特殊字符
Python的str是不可改变的,所以这三种方法只是返回字符串前后空白被删除后的副本,而不会改变字符串本身。
很酷的站长
2022/11/23
3.1K0
【说站】python如何删除字符串的特殊字符
Jmeter并发业务场景时,如何控制接口仅执行1次?
我们之前写过Jmeter吞吐量控制器详解,实际工作中,经常会执行在批量业务接口,如果想让登录接口或后续接口只执行1次,可使用仅一次控制器,如果在大并发线程下,想让登录接口或后续接口只执行1次,仅一次控制器是无效的,大家可使用吞吐量控制器。
王大力测试进阶之路
2020/03/26
2K0
删除重复字符
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.7K0
当集合名称带有特殊字符时,无法从mongodb删除集合
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/290
joshua317
2022/12/09
6990
无人货架决战生死之巅,寒冬之下如何才能成为最后赢家?
文/孟永辉 产品过多、渠道过滥、个性化不足等问题正在困扰着电商行业的发展,消费升级势在必行。在传统电商模式逐步失去光环的时刻,马云提出了“新零售”的概念。在这一理念的指引下,如何借助新技术对传统电商进行改造,打通线上线下壁垒,成为破解当下电商发展难题的关键。 传统电商遭遇困境的同时,消费者的需求同样正在潜移默化地发生变化。以年轻圈层、单身主义为代表的“一人食”时代的来临更让这种消费升级变得有些迫不及待。如何方便快捷地找到心仪的产品进行消费,以腾出更多的时间娱乐和生活成为时下很多年轻人的新选择。 在新零售日益
孟永辉
2018/06/21
3760
python删除文本最后一行_用python删除文件中的最后一行
我创建了以下代码来查找文件中的行数,但是我不知道如何删除特定的行号。我是新来的python – 所以如果有一个更简单的方法 – 请告诉我。
全栈程序员站长
2022/08/30
7K0
点击加载更多

相似问题

仅当是特定类型时,如何继承类?

20

仅当是数字时才允许在JTextField上存储字符

30

仅当是给定符号时才替换第n个字符

20

Bash脚本。仅当是从范围时才接受整数

10

AngularJS,当是真的时,我怎样才能禁用ng模糊?

13
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文