【发布时间】:2020-09-18 10:59:13
【问题描述】:
我在联系 Vnet 中 AKS 上托管的 AMLS Web 服务时遇到问题。我能够成功配置 AKS 并部署模型,但我无法使用 Python 请求模块访问 Web 服务:
headers = {'Content-Type':'application/json',
'Authorization': 'Bearer ' + <AKS_KEY>}
resp = requests.post(<AKS_URI>, json={"data":{"x": "1"}}, headers=headers)
print(resp.text)
我收到以下错误:
错误:HTTPConnectionPool(host='', port=80):最大重试次数超出了 url:
(由 NewConnectionError(' 引起:无法建立新连接: [Errno 110] 连接超时'))
但是,我可以使用 Postman 成功连接到 Web 服务:
curl --location --request POST <AKS_URI> \
--header 'Authorization: Bearer <AKS_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{"data": {"x": "1"}}'
如果我在我的 AMLS 工作区aks_service.run() 中加载 AKS 服务,也会给我同样的错误消息。我在没有 vnet 集成的情况下部署时没有这些问题。
这可能是什么原因造成的?
【问题讨论】:
-
您的网址中有参数吗?如果是这样,请尝试将它们放入单独的参数
params={...} -
网址中没有参数。
-
AML 工作区是否与 AKS 服务位于同一 vnet 中?还有你用的是什么版本的SDK?还有
aks_service.run()错误,你能分享更多代码和完整的堆栈跟踪吗? -
AML 工作区不在 vnet 中。我发现了我的错误,并将在下面发布答案。
标签: curl python-requests postman azure-aks azure-machine-learning-service