在Azure上注册模型时出现``证书验证失败''错误

时间:2019-05-30 08:45:22

标签: python python-3.x azure ssl-certificate

今天,当我想在Azure工作空间上注册新模型时遇到错误。以前没有发生此错误!我唯一的变化是模型本身,但是代码是相同的:

from azureml.core import Workspace
from azureml.core.compute import AksCompute, ComputeTarget
from azureml.core.webservice import Webservice, AksWebservice
from azureml.core.image import Image
from azureml.core.model import Model
import azureml.core
from azureml.core.workspace import Workspace
from azureml.core.model import Model
ws = Workspace.from_config()
model_reg = Model.register(model_path = "./outputs/model_final",
                       model_name = "ModelX",
                       tags = {'area': "XXX", 'type': "deep"},
                       description = "Model 1",
                       workspace = ws)

这是我得到的错误:

raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='xxx
.blob.core.windows.net', port=443): Max retries exceeded with url: /azureml/Loca
lUpload/190530T093046-fc5a89ca/tfModel.tar.gz?sv=2018-03-28&sr=b&sig=9FFnsaefR9w
PkR%2FvsMlnQYrA2wlnJG7Cu%2BP9%2FePPZEY%3D&st=2019-05-30T08%3A20%3A46Z&se=2019-05
-31T08%3A30%3A46Z&sp=rcw&comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURB
d01EQXdNREF3TURBd01EQSUzRA%3D%3D (Caused by SSLError(SSLError("bad handshake: Er
ror([('SSL routines', 'tls_process_server_certificate', 'certificate verify fail
ed')],)",),))

我试图更新所有python软件包,甚至尝试通过全新安装所有软件包来创建新的conda env,但仍然出现此错误。

有帮助或类似经验吗?

2 个答案:

答案 0 :(得分:0)

仅供参考,可能有两个原因导致此问题。

  1. 网络问题。运行此Python脚本的网络环境已更改。现在该脚本可以通过不支持或不启用SSL / TLS功能的Fiddler之类的代理运行,或者您网络中的某些IP限制导致该脚本如SO线程SSL Certificate error while doing a request via python

  2. 目标站点已升级SSL版本。您可以按照SO线程答案Django paypalrestsdk error - OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]进行检查。

希望有帮助。

答案 1 :(得分:0)

请问我也有类似的问题。我在VNET中有Databricks实例。我正在尝试使用Azure容器实例(ACI)上的Azure ML工作区部署机器学习模型。

我能够创建ML工作区。尝试使用Model.register()注册模型时,出现SSLERROR。

使用此代码-

from azureml.core import Workspace
from azureml.core.model import Model
import azureml.core
from azureml.core.workspace import Workspace
from azureml.core.model import Model

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               location='eastus'
               )

model_reg = Model.register(model_path = “./model_dir”,
                       model_name = "ModelX",
                      workspace = ws)

在尝试部署模型时在错误下方找到。

SSL错误:

SSLError: HTTPSConnectionPool(host='eastus.experiments.azureml.net', port=443): Max retries exceeded with url: /discovery (Caused by SSLError(SSLError("bad handshake: SysCallError(104, 'ECONNRESET')")))
 

请注意,只有Azure Databricks在Azure的VNET中。如何解决该问题并将我的模型作为Web服务部署到ACI。

谢谢。

相关问题