我们在尝试使用SendListen密钥访问使用者组时,从昨天开始观察以下错误。它抛出了未经授权的错误。如果我使用RootManagerSharedAccessKey,这可以正常工作。
var connectionString = "Endpoint=sb://*****.servicebus.windows.net/;SharedAccessKeyName=SendListen;SharedAccessKey=****";
var ns = NamespaceManager.CreateFromConnectionString(connectionString);
var result= ns.GetConsumerGroupAsync("**", "**").GetAwaiter().GetResult();
例外: '远程服务器返回错误:(401)未经授权。 TrackingId:e2993246-9253-4cb7-ab54-2a9b32abfec7,SystemTracker: * .windows.net:dataoffload/ConsumerGroups/ ,时间戳:8/11/2017 12:33:46 AM'
EventHub最近有什么变化吗?
答案 0 :(得分:1)
根据你的描述,我在我这边检查了这个问题。这是我的测试,你可以参考它。
设置>共享访问政策
代码段:
var connString = "Endpoint=sb://{my-hubname}.servicebus.windows.net/;SharedAccessKeyName=SendListen;SharedAccessKey=aTu3sxJ1TMLXDWN6ErkHp28aVL/Fstfa49MkuibbQ7A=";
var ns = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(connString);
var result = ns.GetConsumerGroupAsync("myhub01", "$Default").GetAwaiter().GetResult();
根据设置,我可以检索我的消费者群组的描述。此外,对于单个 Listen 策略,它也可以正常工作。根据您的错误,我建议您检查CONNECTION STRING
。此外,您可以利用fiddler收集网络跟踪以获取详细信息。