在Azure服务总线实体名称中使用斜杠字符

在Azure服务总线实体名称中使用斜杠字符,azure,uri,special-characters,naming-conventions,azureservicebus,Azure,Uri,Special Characters,Naming Conventions,Azureservicebus,我想对相关的队列和主题进行分组,使用斜杠似乎很自然。它毕竟是一个URI,所以https://mynamespace.servicebus.windows.net/{entity}/{command | event}模式很好遵循。但是Azure portal在创建实体时不允许斜杠: 由于限制,无法使用“/”创建服务总线实体 用胳膊。但是,后端将替换“~”的所有实例 绕过手臂层后,使用“/”字符,允许 您可以在此处使用“~”创建带有“/”的新实体 但是,您可以通过管理API或服务总线资源管理器完美地

我想对相关的队列和主题进行分组,使用斜杠似乎很自然。它毕竟是一个URI,所以
https://mynamespace.servicebus.windows.net/{entity}/{command | event}
模式很好遵循。但是Azure portal在创建实体时不允许斜杠:

由于限制,无法使用“/”创建服务总线实体 用胳膊。但是,后端将替换“~”的所有实例 绕过手臂层后,使用“/”字符,允许 您可以在此处使用“~”创建带有“/”的新实体

但是,您可以通过管理API或服务总线资源管理器完美地创建“斜杠”名称,门户会很好地显示它们,尽管会有一个警告:

ARM不支持包含“/”字符的资源名称。 当与ARM接口时,服务总线将这些斜杠转换为“~”, 但在其后端保留了斜杠。您的实体中有斜线 他们的名字可能会与tildas一起出现,而不是出现在特定的叶片上 门户,但服务总线支持并将继续支持这些 资源的原始格式使用斜杠


我不确定我是否理解它。未来可能的后果是什么?忽略警告并使用斜杠,还是只使用中性分隔符(如点)是一个好主意?

问题在于ARM,或者更准确地说,它希望资源的URI是如何构造的。它需要使用斜杠作为分隔符的对。 请参见ASB团队中解释ARM问题的内容

另一方面,ServiceBus Explorer使用
NamespaceManager
,这与ARM的期望不同


底线:ARM需要
~
。要将路径分段,它是一个
/
。根据您正在使用的工具,进行必要的调整。

问题在于ARM,或者更准确地说,它希望如何构造资源的URI。它需要使用斜杠作为分隔符的对。 请参见ASB团队中解释ARM问题的内容

另一方面,ServiceBus Explorer使用
NamespaceManager
,这与ARM的期望不同


底线:ARM需要
~
。要将路径分段,它是一个
/
。根据您正在使用的工具,进行必要的调整。

如果答案不是针对您的问题,请提供评论。如果答案不是针对您的问题,请提供评论。那么,在servicebus explorer中是否有办法同时使用分段路径和使用arm?值得一提的是,我发现azure CLI也不支持
az servicebus主题create
中的“/”,因此没有办法在servicebus浏览器中同时使用分段路径和使用arm吗?值得一提的是,我发现azure CLI也不支持
az servicebus主题create中的“/”