使用Azure Service Bus AdministrationClient获取Topics遇无效签名错误求助
Azure Service Bus InvalidSignature 问题排查
权限不匹配
你用于收发消息的连接字符串可能仅拥有Send/Listen权限,但ServiceBusAdministrationClient需要Manage权限才能执行主题查询等管理操作。检查Azure门户中ServiceBus命名空间的共享访问策略,确保你使用的策略包含Manage权限。
注意:实体级(单个队列/主题)的连接字符串无法用于管理整个命名空间的资源,必须使用命名空间级连接字符串。连接字符串完整性问题
确认连接字符串没有被截断、包含多余空格或错误字符,尤其是SharedAccessKey部分必须完整无误。NuGet包版本问题
建议将Azure.Messaging.ServiceBusNuGet包更新至最新稳定版,旧版本可能存在与.NET 8兼容的签名验证bug。代码优化(便于排查)
给代码添加异常捕获,获取更详细的错误信息:try { var administrationClient = new ServiceBusAdministrationClient(ConnectionString); AsyncPageable<TopicProperties> allTopics = administrationClient.GetTopicsAsync(); await foreach (TopicProperties topic in allTopics) { Console.WriteLine($"IterateTopicsWithAwaitForeachAsync: {topic.Name}"); } } catch (ServiceBusException ex) { Console.WriteLine($"错误详情: {ex.Message}, 错误原因: {ex.Reason}"); }
内容的提问来源于stack exchange,提问作者Sergio Magrì
相关产品推荐
相关产品推荐

