Curl 使用Python请求连接AKS上的AMLS web服务时出现问题

Curl 使用Python请求连接AKS上的AMLS web服务时出现问题,curl,python-requests,postman,azure-aks,azure-machine-learning-service,Curl,Python Requests,Postman,Azure Aks,Azure Machine Learning Service,我在联系vnet中AKS上托管的AMLS web服务时遇到问题。我能够成功地配置AKS并部署模型,但无法使用Python请求模块访问web服务: headers={'Content-Type':'application/json', '授权':'承载'+} resp=requests.post(,json={“data”:{“x”:“1”},headers=headers) 打印(分别为文本) 我得到以下错误: 错误:HTTPConnectionPool(主机='',端口=80):url超过最

我在联系vnet中AKS上托管的AMLS web服务时遇到问题。我能够成功地配置AKS并部署模型,但无法使用Python请求模块访问web服务:

headers={'Content-Type':'application/json',
'授权':'承载'+}
resp=requests.post(,json={“data”:{“x”:“1”},headers=headers)
打印(分别为文本)
我得到以下错误:

错误:HTTPConnectionPool(主机='',端口=80):url超过最大重试次数:(由NewConnectionError引起(':未能建立新连接:[Errno 110]连接超时])

但是,我能够使用Postman成功连接到web服务:

curl--location--request POST\
--标题“授权:持票人”\
--标题“内容类型:应用程序/json”\
--数据原始'{“数据”:{“x”:“1”}'
如果我在我的AMLS工作区中加载AKS服务
AKS\u service.run()
也会显示相同的错误消息。在没有vnet集成的情况下部署时,我不会遇到这些问题


这是什么原因造成的?

我同意这很奇怪。我最初的反应是,在b/w您的
请求
请求和
curl
请求时出现了一个小字符串格式问题。但是我发现您在使用
aks\u service.run()
时遇到了相同的错误。
也许阅读更多有关的内容会有所帮助?

我通过在控制虚拟网络的NSG组中为评分端点添加启用的入站安全规则,解决了这一问题


应该这样做,以便可以从虚拟网络外部调用评分端点(请参阅),但显然邮递员可以在没有此安全规则的情况下找到如何访问端点的方法

你的URL中有参数吗?如果是,请尝试将它们放入单独的参数
params={…}
URL中没有参数。AML工作区是否与AKS服务位于同一个vnet中?另外,您使用的SDK版本是什么?另外,对于
aks_service.run()
错误,是否可以共享更多代码和完整堆栈跟踪?AML工作区不在vnet中。我发现了我的错误,并将在下面发布一个答案。是的,当然仍然很奇怪。也许