Azure Schema Registry Python客户端报Errno 11001,无法确定正确端点
报错核心原因
- 传入的Schema Registry端点格式完全错误:直接把Event Hubs连接字符串的全量内容(包含
Endpoint=sb://前缀)作为端点传入,SDK拼接请求时生成了包含非法字符的域名https://Endpoint=sb://xxx.servicebus.windows.net/...,触发DNS解析失败,即getaddrinfo failed。 - 未区分Event Hubs连接字符串和Schema Registry端点的格式要求。
修正方案
1. 替换为正确格式的端点
Schema Registry端点为其所在Event Hubs命名空间的全限定主机名,格式为:<你的命名空间名称>.servicebus.windows.net
无需添加Endpoint=sb://前缀,也无需附加末尾斜杠,对应修改代码:
# 错误写法 # endpoint= "Endpoint=sb://xxx.servicebus.windows.net/" # 正确写法,替换为实际的命名空间域名 endpoint = "xxx.servicebus.windows.net"
2. 配置必要权限
为当前使用的服务主体(即AZURE_CLIENT_ID对应的应用)分配对应Event Hubs命名空间下的Schema Registry Contributor角色,否则后续调用会抛出权限类报错。
3. 连通性验证
修正后可先运行轻量调用验证连通性:
# 测试是否能正常访问指定schema组 schema_groups = schema_registry_client.list_schema_groups("schema-test-group") print(list(schema_groups))
内容的提问来源于stack exchange,提问作者roAl
相关产品推荐
相关产品推荐

