我正在使用Fluent SDK创建Azure服务总线。我想给我的服务总线指定一个特定的名称,如果该名称不可用,请增加一个。 我遇到的问题是我实际上不知道该名称在创建时是否不可用。
我正在使用它来创建服务总线:
var serviceBusNamespace = azure.ServiceBusNamespaces
.Define(serviceBusName)
.WithRegion(Region)
.WithExistingResourceGroup(resourceGroup)
.WithSku(NamespaceSku.Standard)
.Create();
如果我使用相同的serviceBusName
为两个不同的资源组运行此代码,则将在两个资源组中创建一个服务总线而不会出现错误。但是,当我转到Azure门户时,第一个服务总线可以正常打开,但是在尝试打开第二个服务总线时出现错误消息“未找到”。
我知道服务总线名称在所有Azure中都必须是唯一的,但是
我试图对服务总线URL进行ping操作,以查看它是否存在。例如,我为serviceBusName.servicebus.windows.net
之类的URL尝试过this,但是失败了。
答案 0 :(得分:1)
为什么Fluent SDK允许我创建具有相同名称的第二条服务总线?
您应该向开发库的团队提出这个问题。在这种情况下,Fluent SDK是由.NET库为Azure团队生产的。问题跟踪器可用here。提出问题时,请用Service Bus
标签。
在创建服务总线之前,如何检查名称的唯一性?
提供新名称空间的操作可以在内部排队。因此,当查询命名空间是否存在时,后端在旋转命名空间时可能会得到否定响应。其中一个请求将成功,而另一个将失败。您需要创建并查询结果之后,并检查状态。